java线程对异常的处理
2015-09-24 23:08
731 查看
1.在Run 方法中是不能抛出受检异常,但是可以抛出运行异常.
2.线程抛出异常的时候都会被中断,所有线程都一样.
3.默认情况下线程的未受检异常,是被线程组ThreadGroup的uncaughtException方法处理的.所以可以通过覆盖该线程组的这个方法可以修改处理该线程的未受检异常.或者通过设置默认setUncaughtException 方法来设置.
默认情况下所有线程的未受检异常都会将异常信息打印到System.err,虽然主线程无法catch分支线程的异常.
但是,在线程池中的线程抛出的未受检异常,会被java.util.concurrent.ThreadPoolExecutor 所catch,这样一来线程池中的所有线程抛出的RuntimeException都无法被 uncaughtException 所捕获拦截,也无法打印到system.err
但是
参考:Java ExecutorService线程池中的小坑——关于线程池中抛出的异常处理
参考:java多线程中的异常处理
2.线程抛出异常的时候都会被中断,所有线程都一样.
3.默认情况下线程的未受检异常,是被线程组ThreadGroup的uncaughtException方法处理的.所以可以通过覆盖该线程组的这个方法可以修改处理该线程的未受检异常.或者通过设置默认setUncaughtException 方法来设置.
默认情况下所有线程的未受检异常都会将异常信息打印到System.err,虽然主线程无法catch分支线程的异常.
但是,在线程池中的线程抛出的未受检异常,会被java.util.concurrent.ThreadPoolExecutor 所catch,这样一来线程池中的所有线程抛出的RuntimeException都无法被 uncaughtException 所捕获拦截,也无法打印到system.err
但是
参考:Java ExecutorService线程池中的小坑——关于线程池中抛出的异常处理
参考:java多线程中的异常处理
相关文章推荐
- Java获取文件后缀名
- Java获取文件后缀名
- Java获取文件后缀名
- HDU 4002 Find the maximum(JAVA 大数找规律 )
- JAVA利用泛型返回类型不同的对象
- JAVA实现对Excel的操作
- 细说Java内部类, 静态内部类, 局部类, 匿名内部类
- JAVA_SE基础——31.this关键字
- What does “java: No match.” mean?
- Java多线程基础知识(四)
- Java覆盖和隐藏
- Callable和Future、FutureTask
- MyEclipse SVN 插件
- 转载老师的一篇文章——java自学之路
- 一个关于java数据库驱动包的小发现
- Java基础知识强化74:正则表达式之分割功能 (扩展练习)
- 用代码窥探Java支持的语言
- Java 基础总结
- Java学习日记-2 零零碎碎
- [转载]java servlet过滤器控制frame框架中的页面跳转