我真的不知道在多語言應用程序中處理異常的最佳方法。如何處理異常信息的翻譯?
我應該在哪裏處理錯誤信息的翻譯(Exception.Message
)?
只要我拋出異常,我應該在ctor中翻譯消息嗎?
throw new MyException("Error message", Resource.MyException_TranslatedMessage);
還是我拋出異常,我使用的是自制的幫手會發現使用異常的類型在視圖的邏輯錯誤消息?
try
{
//...
}
catch(Exception ex)
{
myLabel.Text = new ExceptionTranslator(ex).Translate();
}
或者,微軟是否提供了一個工具或機制來做到這一點?
總之:處理異常消息轉換的最佳實踐是什麼?
提示:切勿使例外用戶:)更好地嘗試通過翻譯管理器翻譯自己的消息 – wudzik