Android 捕获运行时异常详解
Android 异常分为两类:CheckedException 和 UnCheckedException
CheckException:在编译代码时就需要进行try()catch捕获的。
UnCheckException:所有的运行时异常,RuntimeException类和他的子类,都是在APP运行的过程中的发生的。即:APP在运行的过程中崩溃了,这种异常我们就成为运行时异常(比如空指针),当APP崩溃的时候,给用户的体验很不好,所以我们应该捕获这个异常进行处理(弹个界面啦),然后更好的方案是获取到这个异常后,把他传回服务器,这样我们在开发的时候就知道APP哪里的代码有问题了
说了半天到底怎么捕获呢?
安卓提供了一个接口:UncaughtExceptionHandler 这个接口是Thread类的内部接口,有相应的方法:
Thread.getDefaultUncaughtExceptionHandler() Thread.setDefaultUncaughtExceptionHandler()
通常的方案就是在项目的Application中,调用Thread.setDefaultUncaughtExceptionHandler(),注意这个方法需要一个实现了UnCaughtExceptionHandler接口的对象,我们可以自定义一个类实现这个接口,然后在onUncaughtException()方法中就可以拿到导致APP崩溃的异常了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!