处理非正常的线程终止
未检查异常:catch(Throwablee)
为捕获异常的处理:ThreadAPI提供了Uncaught-Exceptionhandler,能检测出某个线程由于未捕获的异常而终结的情况。
在运行时间较长的应用程序中,通常会为所有线程的未捕获异常指定一个异常处理器,并且该处理器至少会将异常信息记录到日志中。
区别:只有通过execute提交的任务,才能将它抛出的异常交给未捕获异常处理器,而
通过submit提交的任务,抛出的异常都将被认为是任务返回状态的一部分。如果一个由submit提交的任务由于抛出了异常而结束,那么这个异常将被Future.get封装在ExecutionException中重新抛出。
本文探讨了如何处理Java程序中线程因未捕获异常而产生的非正常终止情况。介绍使用Thread API提供的UncaughtExceptionHandler来捕捉并处理这类异常的方法,并解释了不同提交方式(execute与submit)下异常处理的区别。
1381

被折叠的 条评论
为什么被折叠?



