【发布时间】:2013-07-23 20:57:28
【问题描述】:
我在执行的方法中明确抛出异常并且没有捕获它,因此 EDT 异常处理程序应该捕获它,理想情况下 EDT 应该停止工作,但是当我单击框架的按钮时,EDT 再次启动。如何重启线程?
【问题讨论】:
-
请澄清您的问题并向我们展示您已经尝试过的代码。
标签: java
我在执行的方法中明确抛出异常并且没有捕获它,因此 EDT 异常处理程序应该捕获它,理想情况下 EDT 应该停止工作,但是当我单击框架的按钮时,EDT 再次启动。如何重启线程?
【问题讨论】:
标签: java
当线程抛出未被捕获的异常时,Thread.UncaughtExceptionHandler 将被调用。如果尚未设置,将调用默认的未捕获异常处理程序。处理程序将显示 stacktrace 并且很可能会重新启动,尽管文档没有具体说明所采取的步骤。
【讨论】:
EDT 是一种特殊情况。每当它因抛出未捕获的异常而停止时,它就会重新启动。
这是一个很好的设计,因为它可以确保您的整个 GUI 不会因为某处未捕获的异常(例如按钮操作)而崩溃和烧毁。
【讨论】: