Android开发之UncaughtExceptionHandler

在android原声开发或者进行其他java类项目时,我们常用try(){} catch(Exception e){}进行异常的捕捉和处理。有些异常是不能够采用这种方式捕捉的,比如在APP运行的时候会有闪退现象,有些闪退是JVM层面的,不能够及时捕捉到。此时,我们可以通过实现UncaughtExceptionHandler接口的方式予以处理。这里说的处理是指我们在不能捕捉到的异常发生时,进行相应的处理操作,比如上传发生的错误信息到异常处理服务器。下面简单介绍下UncaughtExceptionHandler。

UncaughtExceptionHandler是定义在Thread基础类之下的一个公共的接口,它定义了一个方法void uncaughtException(Thread t, Throwable e);

Android开发之UncaughtExceptionHandler

需要处理一些不能用try...catch步骤的异常时,我们可以实现这个接口,然后再覆写uncaughtException(Thread t, Throwable e)即可,第一个参数表示发生异常时的线程。

另外,我们也可以对某个java线程设置发生不能捕捉到的异常时的特定的应对机制。此时可以调用setUncaughtExceptionHandler(UncaughtExceptionHandler eh)方法,如下所示。

Android开发之UncaughtExceptionHandler