除了记录SqlException之外,我还试图调用另一个存储最初发生错误的内容的数据库。但是,我得到SqlConnection部分的警告'Unreachable code detected',它肯定没有执行我试图运行的过程。在C#Catch异常子句中调用另一个数据库的SQL过程
catch (SqlException ex)
{
throw new DataException(ex.Message, ex);
//Call Error Management DB Connection and add content to the table
using (SqlConnection connection = new SqlConnection(_errorManagementConnectionString))
{
SqlCommand cmd = new SqlCommand("[dbo].[InsertDataErrors]", connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@InputParam", InputParam);
cmd.Parameters.AddWithValue("@Content", Content);
cmd.ExecuteNonQuery();
connection.Open();
}
}
我该如何解决这个错误,并确保SqlException与我尝试运行的过程一起记录?
在'using'部分之前抛出'DataException',所以无法使用。 – MatSnow
我已经尝试了另一种方式,它然后不会抛出新的DataException,如果我把使用事先。 – Dev
你也应该使用['Add'](https://stackoverflow.com/questions/21110001/sqlcommand-parameters-add-vs-addwithvalue)而不是['AddWithValue'](https://stackoverflow.com/questions/21110001/SqlCommand的参数加-VS-addwithvalue)。 – MatSnow