如何使可运行的Jar程序不会无声地失败?

时间:2014-07-25 09:09:31

标签: java windows deployment error-handling executable-jar

对于我创建的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);
}

命令行输出:

enter image description here

但是,如果我通过双击运行Jar程序(预期大多数最终用户),则未处理的异常将保持无声。我注意到这与“本机Windows程序”形成鲜明对比,我认为这些程序有未处理的操作系统默认处理程序处理的异常(模态对话框消息):

enter image description here

enter image description here enter image description here

以这种方式处理未处理的异常的好处是,用户将知道发生了错误(并且可能会报告,希望如此)。

如何以这种方式处理程序的未处理异常?

1 个答案:

答案 0 :(得分:1)

为什么不在catch块中添加这样的单行..无论您如何运行应用程序,都会显示错误消息。

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