1. 盡量避免拋出異常
異常是有代價的,比如盡量避免使用異常來實現流程控制
2. 盡量處理異常
有能力處理異常則處理掉,不然外層函數會累積太多的異常
3. 處理不了則拋出異常
自己問自己,這個異常能夠處理么,不行的話直接拋出,可以參考原則4
4. Throw early and catch late
一般底層函數不會處理異常,外層函數會根據上下文捕獲異常進行處理或者轉換
5. 不要覆蓋異常
6. try塊不應該太大(代碼規范)
7. 函數拋出的異常不應該太多(代碼規范)
參考
異常是有代價的,比如盡量避免使用異常來實現流程控制
2. 盡量處理異常
有能力處理異常則處理掉,不然外層函數會累積太多的異常
3. 處理不了則拋出異常
自己問自己,這個異常能夠處理么,不行的話直接拋出,可以參考原則4
4. Throw early and catch late
一般底層函數不會處理異常,外層函數會根據上下文捕獲異常進行處理或者轉換
5. 不要覆蓋異常
6. try塊不應該太大(代碼規范)
7. 函數拋出的異常不應該太多(代碼規范)
參考