用了Using后,异常就不用捕获了?
SqlCommand cmd = new SqlCommand();
using (SqlConnection connection = new SqlConnection(connectionString)) { PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; }
为啥很多人都是这样写,那如果里面的语句异常了,异常怎么捕获到?
为什么不再Using里加 try catch?
慕神8447489
浏览 832回答 3
3回答
-
Qyouu
using跟异常捕获是两码事,异常如果不捕获是层层抛出的,和用不用using没有关系。using是必须实现IDispose接口的类的对象才能这么写的。
-
PIPIONE
using只能用于实现IDispose接口的对象上。内部会将其编译为如下格式
try
{
new 对象();
}
finnaly
{
对象.Dispose();
}
你可以在using里面加try-catch。只是最后编译出来的代码不优雅,也想对于你直接写try-catch-finaly来执行的更低效
-
慕标琳琳
异常还是需要捕获的。
打开App,查看更多内容