在使用FXCop分析一些遗留代码的同时,我发现在try块中捕获一般异常错误或者您是否正在寻找特定异常真的很糟糕.请给我一张明信片的想法.
考虑这种情况:我有3层应用程序,当用户点击按钮时,按钮事件处理程序调用biz层中的方法,该方法对我的按钮事件处理程序提供的数据执行任何操作,然后将该数据传递给发送的数据Access层他们到后端数据库.问题是在哪里放试试?在数据层,在商业层,在表示层或可能把它放在所有这些?在这种情况下,表示异常处理的最佳策略是什么?
我目前正在进行代码审查,以下代码让我跳了起来.我看到这个代码存在多个问题.你是否同意我的观点?如果是这样,我如何向我的同事解释这是错误的(顽固型......)?
码:
try
{
// Call to a WebService
}
catch (Exception ex)
{
if (ex is SoapException || ex is HttpException || ex is WebException)
{
// Log Error and eat it.
}
else
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud)