安卓捕获运行时异常

来源:互联网 发布:安卓电子白板书写软件 编辑:程序博客网 时间:2024/05/22 06:35

安卓异常分为两类:CheckedException 和 UnCheckedException

CheckException:在编译代码时就需要进行try()catch捕获的。
UnCheckException:所有的运行时异常,RuntimeException类和他的子类,都是在APP运行的过程中的发生的。即:APP在运行的过程中崩溃了,这种异常我们就成为运行时异常(比如空指针),当APP崩溃的时候,给用户的体验很不好,所以我们应该捕获这个异常进行处理(弹个界面啦),然后更好的方案是获取到这个异常后,把他传回服务器,这样我们在开发的时候就知道APP哪里的代码有问题了

说了半天到底怎么捕获呢?
安卓提供了一个接口:UncaughtExceptionHandler 这个接口是Thread类的内部接口,有相应的方法:
Thread.getDefaultUncaughtExceptionHandler()
Thread.setDefaultUncaughtExceptionHandler()

通常的方案就是在项目的Application中,调用Thread.setDefaultUncaughtExceptionHandler(),注意这个方法需要一个实现了UnCaughtExceptionHandler接口的对象,我们可以自定义一个类实现这个接口,然后在onUncaughtException()方法中就可以拿到导致APP崩溃的异常了。



0 0
原创粉丝点击