在牛腩视频的学习中,发现牛腩用using代替try catch使代码更加整洁,便上网查了一些资料,做了一点拓展。
try catch的版本
try
{
cmd = new SqlCommand(cmdText, GetConn());
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
using的版本
using (cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
显尔易见,using代码更加整洁,更加简单。那么,using与try catch在使用上区别是什么呢。
try catch是对异常的捕获和处理,using是对资源的管理和释放,在使用using中,即使是出现了异常仍然会释放资源。也就是说,如果你想知道异常的具体情况,请用try catch,如果你不清楚资源释放的具体时间,请用using.