这听起来像是一个愚蠢的问题,但我想收集一些关于此的意见。我习惯于看到两种处理异常消息的方式。首先有一个简单的模式,您可以Message
直接向用户显示:
try
{
service.Update();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
}
处理异常的另一种方法是考虑强类型异常来表示然后由“控制器”类解释的东西(或处理向用户推送信息的任何代码):
try
{
service.Update();
}
catch (NetworkException ex)
{
ShowMessage("Network is unavailable.");
}
catch (Exception ex)
{
ShowMessage("Something went wrong with the update.");
}
第一种方法要求异常使用的每条消息(无论是由调用代码在构造函数中传递还是在强类型异常中管理)都是“用户就绪的”(干净、正确制定和本地化等)。第二种方法将此责任转移给控制器代码。此外,它可能需要非常具体的强类型异常,以确保每个 catch 块都能够正确解释它们。
那么 Exception 类的 Message 属性(在 C#、Java 中……)是针对谁的呢?最终用户还是程序员?
谢谢,