Java空指针异常不会终止程序

时间:2011-10-12 18:05:05

标签: java swing nullpointerexception

我的问题很简单。当发生任何异常时,如何强制JAVA终止我正在编写的程序?

我当前正在使用Swing,当抛出NullPointer异常时,程序继续在后台运行:以这种方式运行时,我只能从任务管理器关闭它。糟糕的是,当我再次运行相同的程序时,会创建第二个实例,我不知道为什么,但是当我有多个同一个程序的实例时,有一次我得到null异常,下次没有,下一次是的,下次没有....完全随机。

提前致谢!

3 个答案:

答案 0 :(得分:3)

This article将会引起人们的兴趣。捕获异常(理想情况下,你应该消除)。

这个想法是你可以插入一个代理来包装Swing事件的调用,并捕获任何结果异常。然后,您可以决定做什么 - 提醒某人,退出等。

答案 1 :(得分:1)

显然,您的程序似乎至少有一个可以尝试使用调试器解决的错误。

至于你的问题,如果没有捕获,例外将终止你的程序。因此,如果你总是抛出异常,包括在main方法中,当一个发生时会导致程序退出。

然而,正如Mac在评论中所说的

  

Swing应用程序中有一个事件循环。事件循环捕获了Throwable(我相信),因此他无法准确控制以正常方式捕获的内容。

答案 2 :(得分:0)

您应该修复程序中的错误。如果程序未被捕获,则异常将终止程序,您可能正在捕获该异常。您始终可以使用System.exit(0);

退出程序