Verwenden der strukturierten und der unstrukturierten Ausnahmebehandlung

Aktualisiert: November 2007

Bei der strukturierten Ausnahmebehandlung verwenden Sie einfach eine Kontrollstruktur mit Ausnahmen, isolierten Codeblöcken und Filtern, um einen Mechanismus für die Ausnahmebehandlung zu erstellen. Dadurch kann der Code zwischen verschiedenen Typen von Fehlern differenzieren und situationsangepasst reagieren. Bei der unstrukturierten Ausnahmebehandlung behandelt eine On Error-Anweisung am Anfang des Codes alle Ausnahmen.

Hinweise

Die strukturierte Ausnahmebehandlung ist deutlich vielseitiger, stabiler und flexibler als die unstrukturierte. Verwenden Sie deshalb, wenn möglich, die strukturierte Ausnahmebehandlung. Die unstrukturierte Ausnahmebehandlung kann jedoch in folgenden Situationen sinnvoll sein:

  • Sie aktualisieren eine Anwendung, die in einer früheren Version von Visual Basic geschrieben wurde.

  • Sie entwickeln eine vorläufige oder Entwurfsversion einer Anwendung, und es spielt keine Rolle, wenn das Programm nicht fehlerfrei heruntergefahren wird.

  • Sie wissen bereits im Voraus genau, wodurch die Ausnahme verursacht wird.

  • Eine Frist rückt näher. Sie sind zur Eile gezwungen und sind bereit, Flexibilität zugunsten von Geschwindigkeit zu opfern.

  • Der Code ist trivial oder so kurz, dass Sie nur die Codeverzweigung testen müssen, die die Ausnahme generiert.

  • Sie müssen die Resume Next-Anweisung verwenden, die von der strukturierten Ausnahmebehandlung nicht unterstützt wird.

Sie können strukturierte und unstrukturierte Ausnahmebehandlung nicht in der gleichen Funktion kombinieren. Wenn Sie eine On Error-Anweisung verwenden, können Sie in der gleichen Funktion keine Try...Catch-Anweisung verwenden.

Unabhängig davon, welches Verfahren Sie für die Ausnahmebehandlung in Ihrem Code wählen, müssen Sie einmal mit etwas Abstand betrachten, von welchen Annahmen der Code ausgeht. Beispiel: Wenn Ihre Anwendung den Benutzer auffordert, eine Telefonnummer einzugeben, spielen die folgenden Annahmen eine Rolle:

  • Der Benutzer gibt eine Nummer ein und keine Zeichen.

  • Die Nummer hat ein bestimmtes Format.

  • Der Benutzer gibt keine leere Zeichenfolge ein.

  • Der Benutzer hat eine einzige Telefonnummer.

Die Eingabe des Benutzers kann zu einer dieser Annahmen oder zu allen Annahmen im Widerspruch stehen. Stabiler Code erfordert eine adäquate Ausnahmebehandlung, die im Falle eines solchen Konflikts die fehlerfreie Wiederherstellung der Anwendung gewährleistet.

Stellen Sie Informationen zur Ausnahmebehandlung bereit, es sei denn, Sie können garantieren, dass eine Methode unter keinen Umständen eine Ausnahme auslösen wird. Die Ausnahmebehandlung sollte stets möglichst aussagekräftig sein. Meldungen, die durch die Ausnahmebehandlung generiert werden, sollten nicht nur aussagen, dass ein Fehler aufgetreten ist, sondern auch warum und wo. Eine inhaltslose Meldung nach dem Schema "Ein Fehler ist aufgetreten" hilft dem Benutzer nicht weiter.

Siehe auch

Aufgaben

Problembehandlung bei der Ausnahmebehandlung

Konzepte

Fehlertypen

Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic

Übersicht über die unstrukturierte Ausnahmebehandlung