我明确地在动作执行方法中抛出异常并且没有捕获它,因此EDT异常处理程序应该捕获它,理想情况下EDT应该停止工作但是当我单击框架的按钮时,EDT再次启动。线程如何重启?
答案 0 :(得分:2)
当线程抛出未捕获的异常时,将调用Thread.UncaughtExceptionHandler。如果尚未设置,则将调用默认的未捕获异常处理程序。处理程序将显示stacktrace
并且很可能会重新启动,尽管文档没有指定采取的步骤究竟是什么。
答案 1 :(得分:1)
EDT是一个特例。只要被抛出的未捕获异常停止,它就会重新启动。
这是一个很好的设计,因为它确保您的整个GUI不会崩溃和刻录,因为在按钮操作中的某个地方存在未捕获的异常。