Fehlerweitergabe an aufrufende Prozeduren

30.12.2003

Laufzeitfehler an aufrufende Prozeduren weitergeben.

Zu einem guten Programmierstil gehört es, alle möglicherweise auftretenden Laufzeitfehler durch Fehlerbehandlungsroutinen abzufangen. Nicht immer ist es allerdings sinnvoll, auftretende Laufzeitfehler innerhalb der Prozedur zu verarbeiten, in der sie auftreten.

Mit Hilfe der Raise-Methode des Err-Objekts können Sie Laufzeitfehler an aufrufende Prozeduren weitergeben oder sogar neue Fehler definieren.

Die Raise-Methode besitzt insgesamt 5 Argumente, über die der auszulösende Laufzeitfehler definiert wird. Besonders wichtig sind die beiden Argumente Number und Description.

Über Number weisen Sie Ihrem ausgelösten Laufzeitfehler eine Fehlernummer zu. Damit es hier zu keinen Konflikt mit den Standardfehlernummern von Access kommt, sollten Ihre selbstdefinierten Fehlernummer auf der Konstanten vbObjectError basieren. Addieren Sie zu dieser Konstanten einfach eine Zahl zwischen 1 und 2147221504.

Mit Hilfe des zweiten Arguments können Sie den Laufzeitfehler mit einer Beschreibung versehen, die Sie genau wie bei normalen Laufzeitfehlern anschließend über die Description-Eigenschaft des Err-Objekts abrufen können.

Die folgende Beispielprozedur überprüft, ob das Archivbit einer bestimmten Datei Ihrer Festplatte gesetzt ist. Sollte keine Datei mit dem angegebenen Namen vorhanden sein, wird mittels Err.Raise ein Laufzeitfehler ausgelöst. Dieser kann anschließend von der aufrufenden Prozedur auf die gewohnte Art und Weise mit Hilfe der On Error-Anweisung abgefangen und ausgewertet werden.

Function IstArchivbitGesetzt(Dateiname As String) As Boolean

    'Existiert die Datei?
    If Dir(Dateiname) = "" Then
        Err.Raise Number:=vbObjectError + 1, Description:="Der angegebene Name ist ungültig!"
        Exit Function
    Else
        IstArchivbitGesetzt=((GetAttr(Dateiname) And vbArchive) <> 0)
    End If

End Function

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.