【发布时间】:2009-09-11 14:38:44
【问题描述】:
这个问题来自针对我创建的对象运行的代码分析。分析说我应该捕获一个比基本异常更具体的异常类型。
您是否发现自己只使用捕获通用异常或尝试捕获特定异常并使用多个捕获块默认为通用异常?
有问题的代码块之一如下:
internal static bool ClearFlags(string connectionString, Guid ID)
{
bool returnValue = false;
SqlConnection dbEngine = new SqlConnection(connectionString);
SqlCommand dbCmd = new SqlCommand("ClearFlags", dbEngine);
SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCmd);
dbCmd.CommandType = CommandType.StoredProcedure;
try
{
dbCmd.Parameters.AddWithValue("@ID", ID.ToString());
dbEngine.Open();
dbCmd.ExecuteNonQuery();
dbEngine.Close();
returnValue = true;
}
catch (Exception ex)
{ ErrorHandler(ex); }
return returnValue;
}
感谢您的建议
编辑:这是来自代码分析的警告
警告 351 CA1031:Microsoft.Design:修改“ClearFlags(string, Guid)”以捕获比“Exception”更具体的异常或重新引发异常
【问题讨论】:
标签: c# exception-handling coding-style