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