Normally you Raise custom errors from a class and when you do so the error is pushed back to the calling function, which in turn should have an error handler to handle it.
As an example, here is something you could step through with F8...
Private Sub Form_Load()
On Error GoTo Form_LoadError
MsgBox Err.Number & ":" & Err.Description & " in " & Err.Source
Private Sub RaiseMyError()
Err.Raise vbObjectError + 1, "Form1", "This is a test of raising an error"