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是完全适当的.
事实上,您正在包装一个非常具体的框架功能,而不是大块的自定义代码有助于我的看法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |