1.当应用发生crash时怎么捕获异常呢?
我们都知道,代码中使用try...catch可以捕获预知的crash,但是对于未知的crash要怎么去捕获并处理呢?方法就是使用UncaughtExceptionHandler。UncaughtExceptionHandler是Thread类里的一个接口。
public class Thread implements Runnable {
...
public interface UncaughtExceptionHandler {
void uncaughtException(Thread t, Throwable e);
}
...
}
当线程发生未捕获的异常导致线程终止的时候,java虚拟机会get出当前线程的UncaughtExceptionHandler,并调用uncaughtException(Thread t, Throwable e)方法,将该线程和Throwable回调出来。
网友评论