java中几乎所有的error子类的名称中都包含“-error”后缀,但threaddeath没有。为什么会这样?这使得很难记住它是error还是exception的子类。
htzpubme1#
Java文档 ThreadDeath 请这样说:只有在异步终止后必须清理时,应用程序才应该捕获此类的示例。如果 ThreadDeath 如果被某个方法捕获,则必须将其重新捕获,以便线程实际死亡。和班级 ThreadDeath 是的一个子类 Error 而不是 Exception ,即使这是“正常情况”,因为许多应用程序都会捕获 Exception 然后丢弃异常。它的意思是应用程序应该 ThreadDeath 两者都不一样 Exception 和(其他) Error 班级。由于应该以不同的方式处理异常,因此使用不符合正常模式的类名是有意义的。然而,无论如何,这应该是具有历史意义的。这个 Thread.stop() 抛出这个的方法在20多年前就被弃用了。你的代码不应该使用 stop() ,因此不必关心这个例外。你也不应该。
ThreadDeath
Error
Exception
Thread.stop()
stop()
1条答案
按热度按时间htzpubme1#
Java文档
ThreadDeath
请这样说:只有在异步终止后必须清理时,应用程序才应该捕获此类的示例。如果
ThreadDeath
如果被某个方法捕获,则必须将其重新捕获,以便线程实际死亡。和
班级
ThreadDeath
是的一个子类Error
而不是Exception
,即使这是“正常情况”,因为许多应用程序都会捕获Exception
然后丢弃异常。它的意思是应用程序应该
ThreadDeath
两者都不一样Exception
和(其他)Error
班级。由于应该以不同的方式处理异常,因此使用不符合正常模式的类名是有意义的。
然而,无论如何,这应该是具有历史意义的。这个
Thread.stop()
抛出这个的方法在20多年前就被弃用了。你的代码不应该使用stop()
,因此不必关心这个例外。你也不应该。