我想知道是否有一種很好的方法將系統生成的錯誤轉換爲對用戶更有意義的東西。例如,如果由於某種原因應用程序無法連接到SMTP服務器。我想將由系統拋出的消息(如「SMTP連接失敗」)轉換爲「我們無法給您發送電子郵件」。這個我想從資源文件中拉出的友好消息。雖然這是一個例外,但可能還有更多。將系統錯誤轉換爲友好的消息
我們沒有跨越所有圖層的try catch塊。它僅存在於UI層。我們有一個異常管理類,它接受所有異常並從中返回一個友好的字符串。 UI層中的每個catch塊都會調用此異常管理類,並向其傳遞一個System.Exception類型的異常,該異常的方法需要返回用於UI的友好錯誤字符串。
現在我唯一能想到的方法是在異常管理類中有一個大的IF ELSE塊,用於檢查接收到的異常字符串並從資源文件中提取一個匹配友好的消息。
有沒有更好的方法來解決這個問題?
IMO,這是一個很好的方法。資源文件或數據庫表,簡而言之,您有一個佔位符,您可以在其中映射錯誤代碼,也可以在您的自定義友好消息中使用技術錯誤消息。對於未映射的消息,您可以爲用戶提供一個通用友好的消息。 – 2013-03-28 05:43:11