Kapitel 35. Ausnahme-Objekte

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Bisher habe ich mich absichtlich vage gehalten, was eine Ausnahme eigentlich ist. Wie im vorherigen Kapitel angedeutet, werden seit Python 2.6 und 3.0 sowohl eingebaute als auch benutzerdefinierte Ausnahmen durch Klasseninstanzobjekte identifiziert . Diese werden von der Ausnahmeverarbeitung ausgelöst und weitergegeben, und die Quelle der Klasse wird mit den in try genannten Ausnahmen abgeglichen.

Obwohl dies bedeutet, dass du objektorientierte Programmierung verwenden musst, um neue Ausnahmen in deinen Programmen zu definieren - und eine Wissensabhängigkeit einführt, die die vollständige Behandlung von Ausnahmen auf diesen Teil des Buches verschiebt -, bietet die Grundlage von Ausnahmen auf Klassen und OOP eine Reihe von Vorteilen. Einer davon sind klassenbasierte Ausnahmen:

  • Sie können in Kategorien organisiert werden. Ausnahmen, die als Klassen kodiert sind, unterstützen künftige Änderungen, indem sie Kategorien bereitstellen - das Hinzufügen neuer Ausnahmen in der Zukunft erfordert im Allgemeinen keine Änderungen in den try Anweisungen.

  • Statusinformationen und Verhalten haben. Ausnahmeklassen sind ein natürlicher Ort, an dem wir Kontextinformationen und Werkzeuge für die Verwendung im try Handler speichern können - Instanzen haben Zugriff auf angehängte Zustandsinformationen und aufrufbare Methoden.

  • Unterstützung von Vererbung ...

Get Python lernen, 5. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.