by rivorson » Thu Oct 20, 2016 1:17 pm
Error numbers can be between 0 and 65535. 0 to 512 are reserved for errors defined by VB. 513-65535 are available for user defined errors, presumably including errors defined by MM. I suggest raising the highest error number possible to terminate your code then check if there was an error that is smaller than that.
Code: Select all
Sub AllowEarlyExit()
On Error Resume Next
Dim ErrorNumber as Integer
MainSub
ErrorNumber = Err.Number
If ErrorNumber > 0 And ErrorNumber < 65535 Then Err.Raise ErrorNumber
MsgBox "MainSub finished"
End Sub
Sub MainSub
'some code
Err.Raise 65535 'throws error
'some more code
End Sub
Error numbers can be between 0 and 65535. 0 to 512 are reserved for errors defined by VB. 513-65535 are available for user defined errors, presumably including errors defined by MM. I suggest raising the highest error number possible to terminate your code then check if there was an error that is smaller than that.
[code]Sub AllowEarlyExit()
On Error Resume Next
Dim ErrorNumber as Integer
MainSub
ErrorNumber = Err.Number
If ErrorNumber > 0 And ErrorNumber < 65535 Then Err.Raise ErrorNumber
MsgBox "MainSub finished"
End Sub
Sub MainSub
'some code
Err.Raise 65535 'throws error
'some more code
End Sub[/code]