Effective Java 3rd 簡體中文版筆記 #75 在細節資訊中包含失敗 - 捕獲訊息
當一個異常發生時,大部分的都會印出異常鍊 (exception chaining),通常都是印出異常的 toString。這其中的細節訊息包括異常發生時,所遇到的參數或情形描述等,不要在細節訊息中儲存包含密碼及金鑰等資訊。
在客製化異常時,必須在異常中儲存足夠的訊息,而這些訊息是產生異常的關鍵。例如:IndexOutOfBoundsException,就提供上界或下界及超出的關鍵值。有時候異常訊息會帶有hard data,往往是工程師寫進去的,用來除錯用的,與寫給客戶端或調用者的異常訊息內容是不一樣的,異常訊息的內容描述是比解釋該異常如何產生更重要。
在生成客製化異常時,能夠要求在構造器 (constructor) 時,就必須放入該異常的關鍵訊息,一方面能防止誤用,一方面更有利於往後的除錯。
轉載請註明原文網址 https://cookieandcoketw.blogspot.com/2021/04/effective-java-75-catch-exception.html
沒有留言:
張貼留言