1 c# visual-studio-2010 .net-3.5
在我制作优秀代码的目标中,我使用"运行代码分析"在Visual Studio 2010中验证了我的项目.在下面的函数中,我得到以下警告,我不明白,因为唯一可以生成异常的行是sqlC.ExecuteNonQuery(),唯一的异常类型是" SQLException ".
CA2000:Microsoft.Reliability:在方法'Company.log(string,string,DateTime,DateTime,string,bool)'中,对象'sqlC'未沿所有异常路径放置.在对对象'sqlC'的所有引用都超出范围之前调用System.IDisposable.Dispose.
为什么分析会抱怨?任何帮助深表感谢!
private void log(string type, string descr, DateTime start, DateTime end, string msg, bool success)
{
SqlCommand sqlC = new SqlCommand();
sqlC.CommandType = CommandType.Text;
sqlC.Connection = sc;
sqlC.CommandText = "INSERT INTO [cap_jobHistoryDetails] (...) VALUES(...)";
sqlC.Parameters.AddWithValue("@jobID", _job_id.ToString("d", CultureInfo.InvariantCulture));
sqlC.Parameters.AddWithValue("@type", type);
sqlC.Parameters.AddWithValue("@start", start);
sqlC.Parameters.AddWithValue("@end", end);
sqlC.Parameters.AddWithValue("@descr", descr);
sqlC.Parameters.AddWithValue("@msg", msg);
sqlC.Parameters.AddWithValue("@success", (success ? "1" : "0"));
try
{
sqlC.ExecuteNonQuery();
}
catch (SqlException)
{
sqlC.Dispose();
throw;
}
sqlC.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2245 次 |
| 最近记录: |