Resume 陳述式
在完成錯誤處理常式之後繼續執行。
我們建議您使用結構化的例外處理,可能的話,程式碼中,而不是使用非結構化的例外處理和On Error和Resume陳述式。 如需詳細資訊,請參閱 Try...Catch...Finally 陳述式 (Visual Basic)。
Resume [ Next | line ]
組件
Resume
必要項。 如果錯誤發生在與錯誤處理常式相同的程序中,則繼續執行導致錯誤的陳述式。 如果錯誤發生在呼叫的程序中,則從包含錯誤處理常式的程序中最後呼叫的陳述式繼續執行。Next
選擇項。 如果錯誤發生在與錯誤處理常式相同的程序中,則繼續執行導致錯誤發生的陳述式後面的陳述式。 如果錯誤發生在呼叫的程序中,則從包含錯誤處理常式 (或 On Error Resume Next 陳述式) 的程序中最後呼叫的陳述式後面的陳述式繼續執行。line
選擇項。 從必要的 line 引數中所指定的那一行繼續執行。 line 引數就是行標籤或行號,且必須位在與錯誤處理常式相同的程序中。
備註
注意事項 |
---|
我們建議您使用結構化的例外處理,可能的話,程式碼中,而不是使用非結構化的例外處理和On Error和Resume陳述式。如需詳細資訊,請參閱 Try...Catch...Finally 陳述式 (Visual Basic)。 |
如果您在錯誤處理常式以外的位置使用 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
需求
組件:Visual Basic 執行階段程式庫 (在 Microsoft.VisualBasic.dll 中)