我有下面的Try语句,尽管当写入DB的值太大时,这之后的所有内容都不会运行。我应该使用Exit Try而不是Exit Sub吗?
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发布于 2015-04-02 07:52:51
您也不需要,将conn.Close和Exit Sub从Catch中删除,这样就可以了。conn.Close将从Finally中执行。
Try
'
'
'
Catch ex As Exception
WriteToFile("Production - Production : Database Error : " & ex.Message)
Finally
conn.Close()
End Try当然,如果示例代码不完整,实际上如下所示:
Finally
conn.Close()
End Try
' More code然后要么使用Exit Sub,要么将剩下的代码移动到Try中。
Try
'
'
'
' More code
Catch ex As Exception
WriteToFile("Production - Production : Database Error : " & ex.Message)
Finally
conn.Close()
End Tryhttps://stackoverflow.com/questions/29407674
复制相似问题