0

我明确地在执行方法中抛出了一个异常而不是捕获它,因此 EDT 异常处理程序应该捕获它,理想情况下 EDT 应该停止工作,但是当我单击框架的按钮时,EDT 再次启动。如何重新启动线程?

4

2 回答 2

2

当线程抛出未被捕获的异常时,将调用Thread.UncaughtExceptionHandler 。如果尚未设置,将调用默认的未捕获异常处理程序。处理程序将显示 astacktrace并且很可能会重新启动,尽管文档没有具体说明所采取的步骤。

于 2013-07-23T12:47:40.997 回答
1

EDT 是一种特殊情况。每当它因抛出未捕获的异常而停止时,它就会重新启动。

这是一个很好的设计,因为它可以确保您的整个 GUI 不会因为某个按钮操作中的某个未捕获的异常而崩溃和烧毁。

于 2013-07-23T12:47:49.520 回答