什麼是異常處理機制
異常處理機制是處理系統非正常運行的流程。
系統在運行時候,會出現因子系統實現錯誤、外界非法輸入、環境引發硬件故障等因素造成的偏離正常執行流程的情況。異常處理機制考慮的就是當這些異常情況出現的時候,如何處理能夠使能損失降到最低。
異常處理機制構成
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層異常處理
什麼是好的異常處理機制
當異常出現的時候,能夠將損失降到最低。
待補充...