Resume 陳述式
在錯誤處理常式完成之後繼續執行。
建議您盡可能在程式碼中使用結構化例外狀況處理,而非使用非結構化例外狀況處理以及 On Error
和 Resume
陳述式。 如需詳細資訊,請參閱 Try...Catch...Finally 陳述式。
語法
Resume [ Next | line ]
組件
Resume
必要。 如果錯誤發生在與錯誤處理常式相同的程序中,則執行會繼續執行,並顯示造成錯誤的陳述式。 如果所呼叫的程序中發生錯誤,則執行會在最後呼叫包含錯誤處理常式之程序的陳述式上繼續執行。
Next
選擇性。 如果錯誤發生在與錯誤處理常式相同的程序中,則會在造成錯誤的陳述式後面立即使用陳述式繼續執行。 如果所呼叫的程序中發生錯誤,則會在最後呼叫包含錯誤處理常式 (或 On Error Resume Next
陳述式) 之程序的陳述式後面立即使用陳述式繼續執行。
line
選擇性。 執行會在必要 line
引數中所指定的行繼續。 line
引數是行標籤或行號,而且必須與錯誤處理常式位於相同的程序中。
備註
注意
建議您盡可能在程式碼中使用結構化例外狀況處理,而非使用非結構化例外狀況處理以及 On Error
和 Resume
陳述式。 如需詳細資訊,請參閱 Try...Catch...Finally 陳述式。
如果您在錯誤處理常式中以外的任何位置使用 Resume
陳述式,則會發生錯誤。
Resume
陳述式不能用於包含 Try...Catch...Finally
陳述式的任何程序中。
範例
此範例使用 Resume
陳述式來結束程序中的錯誤處理,然後使用造成錯誤的陳述式來繼續執行。 產生錯誤碼 55,以說明 Resume
陳述式的使用。
Sub ResumeStatementDemo()
On Error GoTo ErrorHandler ' Enable error-handling routine.
Dim x As Integer = 32
Dim y As Integer = 0
Dim z As Integer
z = x / y ' Creates a divide by zero error
Exit Sub ' Exit Sub to avoid error handler.
ErrorHandler: ' Error-handling routine.
Select Case Err.Number ' Evaluate error number.
Case 6 ' "Divide by zero" error.
y = 1 ' Sets the value of y to 1 and tries the calculation again.
Case Else
' Handle other situations here....
End Select
Resume ' Resume execution at same line
' that caused the error.
End Sub
需求
命名空間: Microsoft.VisualBasic
組件:Visual Basic 執行階段程式庫 (在 Microsoft.VisualBasic.dll 中)