Error hanlder that does not end macro

I have an error handler that I use extensively. However most of the times I just want to be able to inform the user of the error and then move on. Sometime I save info on errors too. However they way that my error handler works now is that it terminates the program when an error is being detected. Please help me modify it so that it “tolerates” mistakes and just warns the user of the error.

My code is:

Public Sub mainProgram()

…..

On Error GoTo Handler

Exit Sub

Handler:

Select Case Err.Number

Case 600

Msgbox(“Error type 102”)

Case 601

Msgbox(“fatal error!)

………

Case Else

End Select

End Sub

And in a sub somewhere in the code e.g. :

If x > 10 then

Msgbox(“Wrong!”)

Err.raise 601

End if

As you can see if error occurs the error handler is called and when the code for current error is finished the macro ends. Instead I want to call the handler, do whatever it is I want to do for a certain error but then continue in the sub where I left with the error. Please help me out! Thank you very much in advance!



Answer this question

Error hanlder that does not end macro

  • Hearty81

    Hello

    Use the Resume Next statement

    Bear in mind that if you force the code to resume at the next command aftyer where the error occurred it may not be appropriate.

    Example:

    Sub test()

    On Error GoTo handler:

    Err.Raise 13
    MsgBox ("Back from error")
    Exit Sub

    handler:
    If Err.Number = 13 Then
    MsgBox ("error 13")

    Else
    Resume Next
    End If

    End Sub


  • Error hanlder that does not end macro