c# – 捕获System.Exception总是一个糟糕的做法?

前端之家收集整理的这篇文章主要介绍了c# – 捕获System.Exception总是一个糟糕的做法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请考虑以下代码段,它引发三个不同的异常(即System.Configuration.ConfigurationErrorsException,System.FormatException和System.OverflowException):
int SomeInt = Convert.ToInt32(ConfigurationManager.AppSettings["SomeIntValue"]);

例外是不同的,所以实际上我应该有三个不同的catch块来处理每个特定的异常.但是,在这种特殊情况下,所有异常都以相同的方式处理:日志被写入到EventViewer中,并且显示通知配置错误的消息…在这个特殊原因中,使用它太糟糕了

try
{
    int SomeInt = ConfigurationManager.AppSettings["SomeIntValue"];
}
catch (Exception ThisException)
{
    /* Log and display error message. */
}

或者我应该使用三个catch块,并重复每个代码中的代码

解决方法

我不认为这是不好的做法.如果你想要的功能是“每当这个代码抛出一个异常,然后采取这些动作”,那么我认为捕获System.Exception是完全适当的.

事实上,您正在包装一个非常具体的框架功能,而不是大块的自定义代码有助于我的看法.

原文链接:https://www.f2er.com/csharp/94394.html

猜你在找的C#相关文章