Ich kämpfe seit längerem mit einem Verständnisproblem, über das ich immer wieder stolpere und das mich grausam nervt. Ein ganz einfaches Beispiel für ein EXE-Projekt:
Sub Main()
On Error GoTo Proc_Err
Form1.Show
Proc_Exit:
Exit Sub
Proc_Err:
MsgBox Err.Description, vbCritical
End Sub
Wenn ich jetzt beim Laden von Form einen Fehler provoziere …
Private Sub Form_Load()
Err.Raise 1 + vbObjectError, „Test“, „Test“
End Sub
… dann hält das Programm in der Entwicklungsumgebung einfach an, obwohl unter Extras „Unterbrechen bei Fehlern“ auf „bei nicht verarbeiteten Fehlern“ eingestellt ist. Wenn ich das Ganze kompiliere, kommt beim Starten eine Standard-Meldung - aber nicht meine. Der Fehler müsste aber doch eigentlich an die aufrufende Prozedur, nämlich Sub Main „hochgereicht“ werden. Oder wie oder was??? Erscheint mir einfach unlogisch, was da passiert.
Uni