Essential C# 7.0
- 重新拋出異常
- 如書中所述:"如選擇拋出具體異常或例外,會更新所有堆疊資訊來匹配新的拋出位置。這會導致只是意腸胃出發生位置的所有堆疊資訊丟失,使異常變得更難診斷。",白話來說,如果Catch當下無法處理掉錯誤,那麼就應該原封不動的將Exception丟出去(只使用throw;),不要另外新建立其他的例外(throw exception;),這樣才不會把原本錯誤的資訊給覆蓋掉了。
- 如果攔截到不能處理的異常,那就代表這個位置不應該攔截。
- 避免在呼叫堆疊較低的位置報告或記錄異常
- 和上一條相呼應,由於太底層,可能資訊也不會很足夠表現該異常,因此在可以解決exception的地方再設置try-catch會比較合適。

沒有留言:
張貼留言