什么是异常处理机制
异常处理机制是处理系统非正常运行的流程。
系统在运行时候,会出现因子系统实现错误、外界非法输入、环境引发硬件故障等因素造成的偏离正常执行流程的情况。异常处理机制考虑的就是当这些异常情况出现的时候,如何处理能够使能损失降到最低。
异常处理机制构成
1 异常检测
2 异常抛出;
3 异常捕获;
4 异常处理。
用伪代码示例把他们结合起来就是
// try代码块开始的地方就是异常捕获的开始位置
// try代码块结束的地方就是异常捕获的结束位置
try{
if(检测到异常){
throw new Exception("异常信息")
}
}catch(Exception e){
if(需要处理异常){
处理异常
}else{
// 不处理,就会被抛给try开始的这段代码被调用的方法处理
throw e
}
}
虽然简单,但是所有异常处理机制莫不如此构建。
异常处理原则
1 内部能处理的自己处理;
2 内部处理不了的丢给调用者;
3 每层系统都设置全局异常处理者。
try-catch异常捕获的局限
1 不能跨线程捕获异常;
try catch是基于栈进行异常捕获的,
所谓的基于栈进行异常捕获就是当抛出异常之后,在不同的catch层进行对比异常,从最内层开始,一直恢复到最外层的异常分叉点。 java c++ js都是如此
2 不能跨语言捕获异常
不同的语言采用的栈是不同的
对异常处理机制的期待
1 对未捕获的异常有自己处理方式
2 支持线上用户异常的感知与分析
如何自定义异常处理机制
RN异常处理机制详解 待补充...
https://github.com/kingkong-li/AwesomeProject
Java层异常处理
Native层异常处理
什么是好的异常处理机制
当异常出现的时候,能够将损失降到最低。
待补充...