首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 5多线程,捕获线程异常

Java 5多线程,捕获线程异常
EN

Stack Overflow用户
提问于 2015-06-15 14:12:03
回答 1查看 151关注 0票数 1

我有一个类来生成线程(文件i/o)。我需要捕捉线程中的异常--我不想做任何花哨的事情,我想杀死主线程,而是完全停止处理,这样它就可以重新开始了。

如果我捕获线程中的异常,这一切都很好,但是调用方仍然继续,我希望它死掉。

我已经有了一些想法,但没有什么能真正使我有所收获。做这件事最简洁的方法是什么-回调,UnCaughtExceptionHandler?还有别的吗?我也被降级到Java 5

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-15 14:14:43

最常见的方法是将Callable提交给Executor,并接收Future。然后,您可以调用Future.get,以确定是否抛出任何异常。

至于UncaughtExceptionHandler,您只能在原始线程中使用它,因为Executor在内部处理未处理的异常(因此在处理程序中甚至看不到未处理的异常!),而且由于您很少想在Executors上使用原始线程,所以Callable是最好的选择。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30847400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档