2014-07-25 2 views
5

runnable Jar programs을 만들려면 명령 프롬프트 (java -jar myprogram.jar)에서 실행하면 처리되지 않은 예외를 읽을 수 있습니다.조용히 실패하지 않는 실행 가능한 Jar 프로그램을 만드는 방법은 무엇입니까?

예제 코드 :

public static void main(String args[]) { 
    try { 
     EntireProgram(); 
    } catch (Throwable t) { 
     throw new Error("somehow our error handling code has errors"); 
    } 
} 

public static void EntireProgram() { 
    System.out.println(1/0); 
} 

명령 줄 출력 : 내가하여 항아리 프로그램 을 실행하면

enter image description here

그러나 더블 클릭을 (대부분의 최종 사용자의 기대) 처리되지 않은 예외는 으로 자동 응답입니다.

enter image description here

enter image description here enter image description here

:이 내가 OS 기본 핸들러 (모달 대화 메시지)에 의해 처리되지 않은 예외를 믿습니다 "기본 Windows 프로그램"대조적이다 것으로 나타났습니다 이 방법으로 처리되지 않은 예외를 처리하는 이점은 사용자가 을 알고 뭔가 잘못되었다는 것입니다.

내 프로그램의 처리되지 않은 예외를 어떻게 그런 식으로 처리 할 수 ​​있습니까?

답변

1

catch 블록에 이렇게 한 줄을 추가하면 어떨까요? 앱을 실행하는 방법과 관계없이 오류 메시지가 표시됩니다.

javax.swing.JOptionPane.showMessageDialog(null,"Something is really wrong..Hence notifying you.."); 
+1

나는 이것이 작동하지 않을 것이라고 생각합니다. 문제가 생겼다. 내 '스윙'기반 애플리케이션은'Java1.6' 이상을 필요로하지만 Java의 하위 버전에서 해당 애플리케이션을 실행할 때 아무것도 보이지 않았고 catch에서도'showMessageDialog'를 제공했다. 블록, ClassNotFoundError라는 오류가 발생했습니다. – Vishrant

+0

@ user3505725, * 여전히 * 오류가 있습니다. 코드에 오류가 없다고 기대할 수 없으므로 오류 처리 코드 (showMessageDialog)에 오류가 없음을 기대할 수 없습니다. 오류 처리의 책임을 OS로 어떻게 옮깁니 까? – Pacerier

관련 문제