对于我创建的runnable Jar programs,如果从命令提示符(java -jar myprogram.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);
}
命令行输出:
但是,如果我通过双击(大多数最终用户期望)来运行Jar程序,则未处理的异常将保持沉默。我注意到这与“ native Windows程序”形成对比,我相信这些“ native Windows程序”具有由操作系统默认处理程序(模态对话框消息)处理的未处理的异常:
以这种方式处理未处理的异常的好处是,用户会知道发生了一些错误(并希望进行报告)。
如何使我程序的未处理异常以这种方式处理?
最佳答案
为什么不在catch块中添加这样的一行,无论您如何运行应用程序,它都会向您显示错误消息。
javax.swing.JOptionPane.showMessageDialog(null,"Something is really wrong..Hence notifying you..");