Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Best Practices in Exception Handling | Fehlerbehandlung
Python Fortgeschrittene Konzepte
course content

Kursinhalt

Python Fortgeschrittene Konzepte

Python Fortgeschrittene Konzepte

1. Module und Importe
2. Fehlerbehandlung
3. Dateiverwaltung
4. Pytest Framework
5. Unittest-Framework
6. Iteratoren und Generatoren

book
Best Practices in Exception Handling

Das 'as'-Schlüsselwort in Ausnahmen

Das as-Schlüsselwort wird in der Ausnahmebehandlung verwendet, um eine Instanz der Ausnahme zu erfassen. Dies ist nützlich, um mehr Details über den Fehler zu erhalten und kann besonders hilfreich sein, um den Fehler zu protokollieren oder in einer informierteren Weise darauf zu reagieren.

1234
try: x = 10 / 0 except ZeroDivisionError as e: print(f"Caught an exception: {e}")
copy

Was ist ein Traceback?

Ein Traceback liefert Details über den tatsächlichen Pfad, den die Ausführung eines Programms bis zu dem Punkt genommen hat, an dem die Ausnahme aufgetreten ist. Es enthält die Funktionsaufrufe, die in Ihrem Programm gemacht wurden, und die Zeilennummern in Ihren Code-Dateien, wo diese Aufrufe gemacht wurden. Tracebacks sind entscheidend für das Debuggen von Fehlern in Entwicklungs- und Produktionsumgebungen.

Gute Praktiken im Umgang mit Ausnahmen

1. Zu allgemeine Ausnahmen abfangen

Zu allgemeine Ausnahmen abzufangen kann die eigentliche Ursache von Fehlern verschleiern, was das Debuggen erschwert und potenziell andere Probleme maskiert, die spezifische Behandlung erfordern, wodurch die Zuverlässigkeit und Wartbarkeit der Software verringert wird.

2. Ausnahme abfangen und erneut auslösen

Wenn Sie eine Operation ausführen müssen, wenn eine Ausnahme auftritt, aber dennoch möchten, dass die Ausnahme weitergegeben wird.

Hinweis

Die Funktionen log_error(e) und print(e) zeigen beide den vollständigen Traceback eines Fehlers an, was während der Entwicklung hilfreich sein kann. In einer Produktionsumgebung kann das Anzeigen vollständiger Tracebacks jedoch die Anwendung für Schwachstellen öffnen, da sie oft sensible Informationen enthalten.

3. Ausnahmeleistung

Vermeiden Sie die übermäßige Verwendung von try-except-Blöcken in Ihrem Code, da übermäßiger Gebrauch Ihr Programm verlangsamen kann. Implementieren Sie sie nur, wenn sie einen funktionalen Zweck erfüllen. Die Verwendung einer if-Anweisung ist in der Regel schneller und effizienter.

Aufgabe

Swipe to start coding

Refaktorieren Sie das folgende Python-Skript, um seine Ausnahmebehandlung basierend auf den besprochenen Best Practices zu verbessern.

  • Der Code enthält eine Überprüfung, um sicherzustellen, dass die Datenliste nicht leer ist, bevor fortgefahren wird, indem ein ValueError verwendet wird.
  • Der refaktorisierte Code fängt spezifische Ausnahmen (ZeroDivisionError, TypeError, IndexError) ab, anstatt eine allgemeine except-Klausel zu verwenden.
  • Jeder Ausnahmetyp hat eine benutzerdefinierte Fehlermeldung, die mehr Kontext darüber bietet, was schiefgelaufen ist.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
toggle bottom row

book
Best Practices in Exception Handling

Das 'as'-Schlüsselwort in Ausnahmen

Das as-Schlüsselwort wird in der Ausnahmebehandlung verwendet, um eine Instanz der Ausnahme zu erfassen. Dies ist nützlich, um mehr Details über den Fehler zu erhalten und kann besonders hilfreich sein, um den Fehler zu protokollieren oder in einer informierteren Weise darauf zu reagieren.

1234
try: x = 10 / 0 except ZeroDivisionError as e: print(f"Caught an exception: {e}")
copy

Was ist ein Traceback?

Ein Traceback liefert Details über den tatsächlichen Pfad, den die Ausführung eines Programms bis zu dem Punkt genommen hat, an dem die Ausnahme aufgetreten ist. Es enthält die Funktionsaufrufe, die in Ihrem Programm gemacht wurden, und die Zeilennummern in Ihren Code-Dateien, wo diese Aufrufe gemacht wurden. Tracebacks sind entscheidend für das Debuggen von Fehlern in Entwicklungs- und Produktionsumgebungen.

Gute Praktiken im Umgang mit Ausnahmen

1. Zu allgemeine Ausnahmen abfangen

Zu allgemeine Ausnahmen abzufangen kann die eigentliche Ursache von Fehlern verschleiern, was das Debuggen erschwert und potenziell andere Probleme maskiert, die spezifische Behandlung erfordern, wodurch die Zuverlässigkeit und Wartbarkeit der Software verringert wird.

2. Ausnahme abfangen und erneut auslösen

Wenn Sie eine Operation ausführen müssen, wenn eine Ausnahme auftritt, aber dennoch möchten, dass die Ausnahme weitergegeben wird.

Hinweis

Die Funktionen log_error(e) und print(e) zeigen beide den vollständigen Traceback eines Fehlers an, was während der Entwicklung hilfreich sein kann. In einer Produktionsumgebung kann das Anzeigen vollständiger Tracebacks jedoch die Anwendung für Schwachstellen öffnen, da sie oft sensible Informationen enthalten.

3. Ausnahmeleistung

Vermeiden Sie die übermäßige Verwendung von try-except-Blöcken in Ihrem Code, da übermäßiger Gebrauch Ihr Programm verlangsamen kann. Implementieren Sie sie nur, wenn sie einen funktionalen Zweck erfüllen. Die Verwendung einer if-Anweisung ist in der Regel schneller und effizienter.

Aufgabe

Swipe to start coding

Refaktorieren Sie das folgende Python-Skript, um seine Ausnahmebehandlung basierend auf den besprochenen Best Practices zu verbessern.

  • Der Code enthält eine Überprüfung, um sicherzustellen, dass die Datenliste nicht leer ist, bevor fortgefahren wird, indem ein ValueError verwendet wird.
  • Der refaktorisierte Code fängt spezifische Ausnahmen (ZeroDivisionError, TypeError, IndexError) ab, anstatt eine allgemeine except-Klausel zu verwenden.
  • Jeder Ausnahmetyp hat eine benutzerdefinierte Fehlermeldung, die mehr Kontext darüber bietet, was schiefgelaufen ist.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt