本文主要是介绍Java、Android的异常处理原理Android Crash捕获、分发及处理原理+实战详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Java异常及异常处理
我们首先来看Java的异常及异常处理。
Java异常分类
-
可查的异常(checked exceptions): 编译器要求必须处置的异常(使用 try…catch…finally 或者 throws )。在方法中要么用try-catch语句捕获它并处理,要么用 throws 子句声明抛出它,否则编译不会通过。除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。
-
不可查的异常(unchecked exceptions):包括运行时异常(RuntimeException与其子类)和错误(Error)。在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。
UncaughtExceptionHandler
Thread中存在两个UncaughtExceptionHandler:
- 一个是静态的defaultUncaughtExceptionHandler:来自所有线程中的Exception在抛出并且未捕获的情况下,都会从此路过。进程fork的时候设置的就是这个静态的defaultUncaughtExceptionHandler,管辖范围为整个进程。
- 另一个是非静态uncaughtExceptionHandler:为单个线程设置一个属于线程自己的uncaughtExceptionHandler,辖范围比较小。
这篇关于Java、Android的异常处理原理Android Crash捕获、分发及处理原理+实战详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!