事件侦听器中未捕获的异常

时间:2013-07-23 12:46:12

标签: java

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

2 个答案:

答案 0 :(得分:2)

当线程抛出未捕获的异常时,将调用Thread.UncaughtExceptionHandler。如果尚未设置,则将调用默认的未捕获异常处理程序。处理程序将显示stacktrace并且很可能会重新启动,尽管文档没有指定采取的步骤究竟是什么。

答案 1 :(得分:1)

EDT是一个特例。只要被抛出的未捕获异常停止,它就会重新启动。

这是一个很好的设计,因为它确保您的整个GUI不会崩溃和刻录,因为在按钮操作中的某个地方存在未捕获的异常。