首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >出口尝试与子出口

出口尝试与子出口
EN

Stack Overflow用户
提问于 2015-04-02 07:47:48
回答 1查看 4.7K关注 0票数 3

我有下面的Try语句,尽管当写入DB的值太大时,这之后的所有内容都不会运行。我应该使用Exit Try而不是Exit Sub吗?

代码语言:javascript
复制
Try

    Dim conn As OracleConnection
    Dim cmdProduction As New OracleCommand
    conn = GetConnect()
    conn.Open()
    cmdProduction.Connection = conn
    cmdProduction.CommandText = "INSERT INTO PRODUCTION (DateTime, Plant, Runhours, Tons, Shift, Sft, Plant_Ord) Values ('" & DateTime & "','FM1-Selox','" & (seloxRuntime / 60) & "','" & seloxTons & "','" & theShift & "','" & sft & "','51')"
    cmdProduction.ExecuteNonQuery()
Catch ex As Exception
    WriteToFile("Production - Production : Database Error : " & ex.Message)
    conn.Close()
    Exit Sub
Finally
    conn.Close()
End Try
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-02 07:52:51

您也不需要,将conn.CloseExit SubCatch中删除,这样就可以了。conn.Close将从Finally中执行。

代码语言:javascript
复制
Try
'
'
'
Catch ex As Exception
    WriteToFile("Production - Production : Database Error : " & ex.Message)
Finally
    conn.Close()
End Try

当然,如果示例代码不完整,实际上如下所示:

代码语言:javascript
复制
Finally
    conn.Close()
End Try

' More code

然后要么使用Exit Sub,要么将剩下的代码移动到Try中。

代码语言:javascript
复制
Try
'
'
'
' More code
Catch ex As Exception
    WriteToFile("Production - Production : Database Error : " & ex.Message)
Finally
    conn.Close()
End Try
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29407674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档