try
{
//提交数据库
}
catch (System.Data.SqlClient.SqlException ex)
{
throw ex;
}
finally
{
//释放资源
}
上面代码的的问题在于,会造成CLR重新设置异常抛出的起点,导致我们在查看异常堆栈的时候,无法知道实际抛出异常的最底层的调用。{
//提交数据库
}
catch (System.Data.SqlClient.SqlException ex)
{
throw ex;
}
finally
{
//释放资源
}
所以上面的代码应该使用throw关键字来向上抛出异常。