Istruzione Resume

Riprende l'esecuzione al termine di una routine di gestione degli errori.

È consigliabile usare la gestione strutturata delle eccezioni nel codice ogni volta che sia possibile, anziché usare la gestione delle eccezioni non strutturata e le istruzioni On Error e Resume. Per altre informazioni, vedere Istruzione Try...Catch...Finally.

Sintassi

Resume [ Next | line ]  

Parti

Resume
Obbligatorio. Se l'errore si è verificato nella stessa routine del gestore degli errori, l'esecuzione riprende con l'istruzione che ha causato l'errore. Se l'errore si è verificato in una routine chiamata, l'esecuzione riprende dall’ultima istruzione che ha richiamato la routine contenente la routine di gestione degli errori.

Next
Facoltativo. Se l'errore si è verificato nella stessa routine del gestore degli errori, l'esecuzione riprende con l'istruzione immediatamente successiva all'istruzione che ha causato l'errore. Se l'errore si è verificato in una routine chiamata, l'esecuzione riprende con l'istruzione immediatamente successiva a quella che ha richiamato per ultima la routine contenente la routine di gestione dell'errore. (o istruzione On Error Resume Next).

line
Facoltativo. L'esecuzione riprende dalla riga specificata nell'argomento obbligatorio line. L'argomento line è un'etichetta di riga o un numero di riga e deve trovarsi nella stessa routine del gestore errori.

Osservazioni:

Nota

È consigliabile usare la gestione strutturata delle eccezioni nel codice ogni volta che sia possibile, anziché usare la gestione delle eccezioni non strutturate e le istruzioni On Error e Resume. Per altre informazioni, vedere Istruzione Try...Catch...Finally.

Se si usa un'istruzione Resume in qualsiasi punto diverso da una routine di gestione degli errori, si verifica un errore.

L'istruzione Resume non può essere utilizzata in alcuna routine contenente un'istruzione Try...Catch...Finally.

Esempio

In questo esempio viene usata l'istruzione Resume per terminare la gestione degli errori in una routine, e quindi riprendere l'esecuzione con l'istruzione che ha causato l'errore. Il numero di errore 55 viene generato per indicare l'uso dell'istruzione 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

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

Assembly: libreria di runtime di Visual Basic (in Microsoft.VisualBasic.dll)

Vedi anche