加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:51:14 所属栏目:百科 来源:网络整理
导读:请考虑以下代码段,它引发三个不同的异常(即System.Configuration.ConfigurationErrorsException,System.FormatException和System.OverflowException): int SomeInt = Convert.ToInt32(ConfigurationManager.AppSettings["SomeIntValue"]); 例外是不同的,所
请考虑以下代码段,它引发三个不同的异常(即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是完全适当的.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读