请考虑以下代码段,它引发三个不同的异常(即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. */ }