我的问题很简单。当发生任何异常时,如何强制JAVA终止我正在编写的程序?
我当前正在使用Swing,当抛出NullPointer异常时,程序继续在后台运行:以这种方式运行时,我只能从任务管理器关闭它。糟糕的是,当我再次运行相同的程序时,会创建第二个实例,我不知道为什么,但是当我有多个同一个程序的实例时,有一次我得到null异常,下次没有,下一次是的,下次没有....完全随机。
提前致谢!
答案 0 :(得分:3)
This article将会引起人们的兴趣。捕获异常(理想情况下,你应该消除)。
这个想法是你可以插入一个代理来包装Swing事件的调用,并捕获任何结果异常。然后,您可以决定做什么 - 提醒某人,退出等。
答案 1 :(得分:1)
显然,您的程序似乎至少有一个可以尝试使用调试器解决的错误。
至于你的问题,如果没有捕获,例外将终止你的程序。因此,如果你总是抛出异常,包括在main方法中,当一个发生时会导致程序退出。
然而,正如Mac在评论中所说的
Swing应用程序中有一个事件循环。事件循环捕获了Throwable(我相信),因此他无法准确控制以正常方式捕获的内容。
答案 2 :(得分:0)
您应该修复程序中的错误。如果程序未被捕获,则异常将终止程序,您可能正在捕获该异常。您始终可以使用System.exit(0);