java 多线程 25 :线程和线程组的异常处理
线程中出现异常
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180549674-1705368288.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180550330-505944352.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180550877-1190906388.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180551315-1121955559.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180551721-83144282.jpg)
从上面代码可以看出来处理线程的异常
设置异常的两种方式
1.全局异常,也是静态异常,是个静态方法 , 类.setDefaultUncaughtExceptionHandler()
2.对象一样,针对单个线程设置的异常,对象.setUncaughtExceptionHandler()
ps:如果手动在线程内try catch了 那么就不会进入以上两种自己设置的异常了
线程组异常
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180552096-744045214.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180552658-1988494728.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180553143-286463180.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180553518-1812381519.jpg)
![](https://images2015.cnblogs.com/blog/722496/201703/722496-20170323180554143-1217337424.jpg)
从上面代码可以看出来处理线程组的异常
继承ThreadGroup 重写 uncaughtException方法