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崩溃的异常了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. Android模拟器运行速度很慢的解决办法
  2. Android(安卓)捕获错误日志 UncaughtExceptionHandler
  3. Android运行Socket项目 Error: ShouldNotReachHere()
  4. ida android incompatible debugger server protocol version is
  5. Android之回调函数
  6. 毕业设计遇到的问题及解决方法
  7. 用ndk-build 编译C语言文件,生成可在android系统上运行的文件
  8. Parcelable和Parcel
  9. Android实现判断某个服务是否正在运行的方法

随机推荐

  1. Android(安卓)Studio中debug和release模
  2. Android(安卓)之 ContentProvider 共享数
  3. android binder机制之二 Service Manager
  4. Android(安卓)Canvas 说明
  5. Android中onConfigurationChanged监视系
  6. [Android基础]四大组件之ContentProvider
  7. Android(安卓)Sqlite数据库跨版本升级 保
  8. Android监听系统通知
  9. Android教程之android数据库编程
  10. Java(Android)线程池