Fallstricke bei Ausnahmen

Hier gibt es nicht viel, worüber man stolpern könnte, aber wir möchten Ihnen zwei allgemeine Hinweise zum Einsatz von Ausnahmen geben.

String-Ausnahmen werden nach Identität, nicht nach Gleichheit verglichen

Wenn eine Ausnahme ausgelöst wird (ob von Ihnen oder von Python selbst), sucht Python nach der zuletzt betretenen try-Anweisung mit einer übereinstimmenden except-Klausel. Dabei bedeutet Übereinstimmung dasselbe String-Objekt oder dieselbe Klasse oder Oberklasse des ausgelösten Klassenobjekts. Es ist wichtig zu wissen, dass diese Übereinstimmung nach Identität geprüft wird, nicht nach Gleichheit. Angenommen, Sie definieren z.B. zwei String-Objekte, die Sie als Ausnahmen auslösen möchten:

>>> ex1 = 'Error: Spam Exception' ...

Get Einfüehrung in Python 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.