Samstag, 11. Februar 2012

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Tipp/Trick
Fehlerweitergabe an aufrufende Prozeduren
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


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de