sqlConnection/Command 使用语句 + try/catch 块 [重复]

Posted

技术标签:

【中文标题】sqlConnection/Command 使用语句 + try/catch 块 [重复]【英文标题】:sqlConnection/Command using statement + try/catch block [duplicate] 【发布时间】:2014-02-03 16:25:33 【问题描述】:

什么是 try/catch inside using 或 using inside try/catch?

using (SqlConnection connection = CreateSqlConnection(connString))

               using (SqlCommand command = CreateSqlCommand()
               
                   try//open connection + execute command + do something else
                   catch//do something
               

对比

try

    using (SqlConnection connection = CreateSqlConnection(connString))
    
               using (SqlCommand command = CreateSqlCommand()
               
                   //open connection + execute command + do something else
               
    

catch

 //do something

【问题讨论】:

【参考方案1】:

在我看来:

try

    using (SqlConnection connection = CreateSqlConnection(connString))
    
               using (SqlCommand command = CreateSqlCommand()
               
                   //open connection + execute command + do something else
               
    

catch

 //do something

以上是正确的方法。

因为,如果使用这种方法,如果与数据库的连接出现异常,则会在 catch 块中被捕获。但使用第一种方法,它不会。

【讨论】:

我也同意,但是 using 语句本身是有问题的,它的作用不类似于 try、catch 和 finally 函数吗?如果是这样,是否需要包装使用函数? 但这并不反对:tryusing(...)try。此外,您在using-statement 中打开连接in 而不是在外部,那么为什么我应该用Try-Catch 包围使用本身,这是一个不同的范围。你有危险捕捉太多这是不好的。 但是从我的角度来看,如果从上述之一中选择第二个更好【参考方案2】:

两者都是正确的,因为两者都会在发生错误时关闭一次性资源。

try-catch-statement 的放置位置应取决于您想对该信息做什么,即,如果您想对有关 SqlCommand 本身的错误或更一般的 SQL 错误做出反应,这也可能涉及连接。

【讨论】:

【参考方案3】:

就个人而言,我认为最好的方法是 - 然后关闭连接,您可以根据需要处理异常

using (SqlConnection connection = CreateSqlConnection(connString))

    using (SqlCommand command = CreateSqlCommand()) 
    
          try  //open connection, execute 
          catch  // log and handle exception 
          finally  // check connection state and close if required 
    

【讨论】:

以上是关于sqlConnection/Command 使用语句 + try/catch 块 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

js是啥意思?

祖鲁语的祖鲁语日常用语

周报措辞规范(周报规范用语不规范用语)

kill啥意思

网络用语套娃是啥意思 网络用语套娃的意思

电脑的常用用语及其英文对照表.