Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Private Sub errorHandler_429()
- Dim uErrorMsg1 As String
- Dim uErrorMsg As String
- Dim errCount As Long
- uErrorMsg1 = "Click OK to try again."
- On Error GoTo ErrorHandler
- restart:
- ' code that triggers an error here
- Err.Raise 429 ' <-- For testing
- 'Err.Raise 430 ' <--- For testing
- ExitRoutine:
- Exit Sub
- ErrorHandler:
- Select Case Err.Number
- Case 429
- errCount = errCount + 1
- uErrorMsg = Err.Number & ": " & Err.Description & " occurred " & errCount & " times."
- Debug.Print uErrorMsg
- If (errCount Mod 200) = 0 Then
- uErrorMsg = uErrorMsg1 & vbCr & vbCr & _
- "Error # " & Err.Number & " was generated by " & _
- Err.Source & Chr(13) & Chr(13) & Err.Description
- Debug.Print uErrorMsg
- If MsgBox(uErrorMsg, vbOKCancel, "errorHandler_429", Err.HelpFile, Err.HelpContext) = vbOK Then
- Resume restart
- Else
- Resume ExitRoutine
- End If
- Else
- Resume restart
- End If
- Case Else
- uErrorMsg = Err.Number & ": " & Err.Description
- 'Debug.Print uErrorMsg
- MsgBox uErrorMsg, , "errHandler_429", Err.HelpFile, Err.HelpContext
- Resume ExitRoutine
- End Select
- End Sub
- Sub errHandler_Description()
- ' Where the error number is negative and inconsistent
- Dim uErrorMsg1 As String
- Dim uErrorMsg As String
- Dim errCount As Long
- Dim LErrDesc As String
- uErrorMsg1 = "Click OK to try again."
- On Error GoTo ErrorHandler
- restart:
- ' code that triggers an error here
- Err.Raise 429 ' <--- For testing
- 'Err.Raise 430 ' <--- For testing
- ExitRoutine:
- Exit Sub
- ErrorHandler:
- LErrDesc = Left(Err.Description, 51)
- Debug.Print " LErrDesc: " & LErrDesc
- Select Case LErrDesc
- Case "ActiveX component can't create object"
- errCount = errCount + 1
- Debug.Print " errCcount: " & errCount
- If (errCount Mod 200) = 0 Then
- uErrorMsg = uErrorMsg1 & vbCr & vbCr & _
- "Error # " & Err.Number & " was generated by " & _
- Err.Source & Chr(13) & Chr(13) & Err.Description
- 'Debug.Print uErrorMsg
- If MsgBox(uErrorMsg, vbOKCancel, "errHandler_Description", Err.HelpFile, Err.HelpContext) = vbOK Then
- Resume restart
- Else
- Resume ExitRoutine
- End If
- Else
- Resume restart
- End If
- Case Else
- uErrorMsg = "This error has not been handled."
- uErrorMsg = uErrorMsg & vbCr & vbCr & _
- "Error # " & Err.Number & " was generated by " & _
- Err.Source & Chr(13) & Chr(13) & Err.Description
- Debug.Print uErrorMsg
- MsgBox uErrorMsg, , "errHandler_Description", Err.HelpFile, Err.HelpContext
- Resume ExitRoutine
- End Select
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement