【发布时间】:2012-08-21 14:02:10
【问题描述】:
我想要一个从按钮引发异常的应用。
然后异常应该关闭应用程序(未处理的异常)。
(我需要它来检查我在Runtime.getRuntime().addShutDownHook() 中的代码)
所以我写了这个
button1.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) {
throw new NullPointerException("");
}
});
并且尝试过也尝试抛出一个RuntimeException,但是应用程序没有关闭。
有什么建议我如何因异常而关闭我的应用程序?
谢谢。
编辑
我会解释 -
在 Java 文档中 - http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)
值得注意的是,当您编写 JVM 关闭挂钩时 - 使其成为快速运行的代码。引用:
“关闭挂钩也应该快速完成它们的工作......”
我的代码运行时间有点长,我想通过异常来测试它(而不是 System.exit() - 虽然它应该是一样的,但有时结果不一样)
只是想知道您是如何从按钮中抛出异常的(我知道代码很糟糕,它是用于测试的)。
【问题讨论】:
-
你需要捕获异常并调用
System.exit() -
@PeterLawrey,
System.exit(1) -
这不是关闭应用程序的正确方法。看这个帖子stackoverflow.com/questions/258099/…
-
@PeterLawrey 将其作为答案,您将获得支持。
-
你为什么还要抛出异常?单击按钮时不能直接调用
System.exit()吗?