我真的不知道在多语言应用程序中处理异常的最佳方法。
我应该在哪里处理错误消息 ( Exception.Message
) 的翻译?
我应该在抛出异常后立即翻译 ctor 中的消息吗?
throw new MyException("Error message", Resource.MyException_TranslatedMessage);
或者我是否抛出异常并且我使用自制的助手,它将使用视图逻辑中的异常类型找到错误消息?
try
{
//...
}
catch(Exception ex)
{
myLabel.Text = new ExceptionTranslator(ex).Translate();
}
或者,微软是否提供了工具或机制来做到这一点?
一言以蔽之:处理异常消息翻译的良好做法是什么?