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
Другие вопросы по тегам