二.什麼時候處理異常
僅當以下一種或多種情況時,我們的**才需要抓住異常
1. 記錄異常(logging)
將異常記錄到日誌中,便於support人員查詢錯誤原因。
2. 為這個異常新增相關資訊(wrap exception)
加發生異常的環境資訊記錄,並產生新異常,交給呼叫本方法的**負責處理。
3. 執行清理工作
比如關閉資料庫連線,dispose物件,rollback,compensate操作等。
4. 嘗試從異常中恢復
比如程式可以取乙個預設值讓程式繼續進行(上次舉過實時顯示裝置溫度的程式的例子,當程式請求裝置,但裝置有時會因為響應
超時導致程式異常,這是程式可以捕捉這個異常,以上次取得的溫度結果顯示給使用者)
常見的例子還有資料庫連線突然斷掉,或者插入資料時主鍵衝突(有可能是輸入錯誤,也有可能同一條資料被別的使用者先插入到資料庫了)。
5. 隱藏異常敏感資訊,替換成友好資訊給使用者。
四.處理異常的指導意見:
1. 除非是第二點處提到的時候,其他時候不要處理異常
2. 在程式裡的邊界處處理異常(比如邏輯層的最上面一層,呼叫的服務處,ui等),並且遮蔽掉敏感資訊,只保留對當前層次安全的資訊。
3. 通過自定義異常的名字來表達異常型別,應該怎麼處理,是否能恢復。
摘自
Python 程式的異常處理
異常即是乙個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在python無法正常處理程式時就會發生乙個異常。異常是python物件,表示乙個錯誤。當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。舉個例子 num eval input please inp...
異常處理程式(Exception handler)
當然,丟擲的異常必須在某處得到處理。這個 地點 就是 異常處理程式 exception handler 針對每個要捕獲的異常,你得準備相應的處理程式。異常處理程式緊跟在 try 區塊之後,以關鍵字 catch 表示 try catch type1 id1 catch type2 id2 catch ...
Android程式Crash異常處理
在寫程式時,肯定會碰到各種問題,在解決這些問題肯定要去看控制台列印的異常資訊,根據控制台列印的異常資訊來進行針對性的解決。那麼要解決程式執行在使用者手機上崩潰的問題,必須得找到問題的原因。因此就要收集崩潰資訊,也就是log日誌。android程式crash時我們可以做的操作 1 將crash資訊存到...