Thread的异常处理可以有三种方式
第一种是设置自定义异常处理,通过实现这个接口
UncaughtExceptionHandler
第二种是设置线程组异常处理,通过继承ThreadGroup类,复写方法
uncaughtException
第三种是设置线程类默认处理异常,也是通过实现这个接口
UncaughtExceptionHandler
这三种方式,如果都实现,经过测试,他们的优先级如下:
// 线程组异常,线程类默认异常,线程自定义异常只会执行一个,只会执行线程自定义异常 // 如果没有线程自定义异常,线程组异常与线程类的默认异常都会运行,先执行线程组异常,再执行线程类默认处理异常