对于我创建的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程序(预期大多数最终用户),则未处理的异常将保持无声。我注意到这与“本机Windows程序”形成鲜明对比,我认为这些程序有未处理的操作系统默认处理程序处理的异常(模态对话框消息):
以这种方式处理未处理的异常的好处是,用户将知道发生了错误(并且可能会报告,希望如此)。
如何以这种方式处理程序的未处理异常?
答案 0 :(得分:1)
为什么不在catch块中添加这样的单行..无论您如何运行应用程序,都会显示错误消息。
javax.swing.JOptionPane.showMessageDialog(null,"Something is really wrong..Hence notifying you..");