解释

UncaughtExceptionHandler类是java1.5里新增的 Thread类里面的一个函数式接口类的,类名意思为  未捕获的异常处理

该类的注释接口意思

接口处理器时调用线程突然终止,由于未捕获到异常。
当一个线程要终止由于未捕获到异常的Java虚拟机将查询线程其使用的UncaughtExceptionHandler getUncaughtExceptionHandler ,将调用处理程序的uncaughtException方法,将线程和异常作为参数。 如果一个线程一直没有它的UncaughtExceptionHandler明确设置,那么它的ThreadGroup对象作为其UncaughtExceptionHandler的 。 如果ThreadGroup对象对处理异常没有特殊的要求,它可以将调用转发给默认的未捕获异常处理程序 。

用于

 多线程或者子线程报错而未报出错误时,很多时候我们写完代码,运行之后老是会报异常。却没发现应该去捕获它。在多线程的情况下,主线程无法捕捉到异常信息。所以我们一般会实现 UncaughtExceptionHandler 做异常处理。

public class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
    @Override
    public void uncaughtException(Thread t, Throwable e) {
        System.out.println("线程信息:"+t.toString());
        System.out.println("报错信息:"+e.getMessage());
    }
}

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐