Error hanlder that does not end macro  
Author Message
AndersBank





PostPosted: Visual Basic for Applications (VBA), Error hanlder that does not end macro Top

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!



Microsoft ISV Community Center Forums2  
 
 
ChasAA





PostPosted: Visual Basic for Applications (VBA), Error hanlder that does not end macro Top

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