Exit Try vs Exit Sub
У меня есть следующий оператор Try, хотя, когда значение, которое записывается в БД, слишком велико, все после этого не запускается. Стоит ли использовать 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
1 ответ
Решение
Вам не нужно либо удалить 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 Try