对于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 程序”形成对比,我相信后者具有操作系统默认处理程序(模式对话框消息)处理的未处理异常:
以这种方式处理未处理的异常的优点是用户将知道发生了错误(并可能报告它,希望如此)。
我怎样才能让我的程序的未处理异常以这种方式处理?
最佳答案
你为什么不在你的 catch block 中添加这样一行......无论你如何运行你的应用程序,它都会向你显示错误消息。
javax.swing.JOptionPane.showMessageDialog(null,"Something is really wrong..Hence notifying you..");
关于java - 如何制作不会静默失败的可运行 Jar 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952049/