Behandlung mehrerer Exceptions
Teil des Abschnitts Logic & Flow der Python-Journey von Coddy. Lektion 65 von 78.
In Python können wir verschiedene Arten von exceptions in separaten except-Blöcken behandeln. Dadurch können wir je nach dem spezifischen error, der auftritt, unterschiedlich reagieren.
Beginne mit einer grundlegenden try-except-Struktur:
try:
# Code, der Ausnahmen auslösen könnte
pass
except Exception as e:
# Beliebige Ausnahme behandeln
passUm mehrere Ausnahmen zu behandeln, füge spezifische except-Blöcke hinzu:
try:
number = int(input("Enter a number: "))
result = 10 / number
print(result)
except ValueError:
print("That's not a valid number!")
except ZeroDivisionError:
print("Cannot divide by zero!")Du kannst auch mehrere Ausnahmetypen in einem einzigen except-Block abfangen:
try:
# Etwas Code
pass
except (ValueError, TypeError):
print("Invalid input type!")Die Reihenfolge der except-Blöcke ist wichtig – platziere spezifischere exceptions immer vor allgemeineren.
Aufgabe
EinfachErstelle eine Funktion namens process_data, die:
- einen string input entgegennimmt, der potenzielle Daten darstellt
- versucht, ihn in eine integer umzuwandeln, und anschließend 100 durch diese integer dividiert
- das result zurückgibt
- mindestens 3 mögliche exceptions behandelt:
ValueError, wenn der input nicht in eine integer umgewandelt werden kann (gibt "Input must be a number!" aus)ZeroDivisionError, wenn der input 0 ist (gibt "Cannot divide by zero!" aus)- Any other exception mit einem allgemeinen Handler (gibt "An unexpected error occurred!" aus)
ERFORDERLICHES AUSGABEFORMAT:
Probier es selbst
def process_data(input_string):
try:
# Versuche, den Eingabestring in eine Ganzzahl umzuwandeln
# Berechne 100 geteilt durch den Eingabewert
# Gib das Ergebnis zurück
except ValueError:
# Behandle den Fall, in dem die Eingabe nicht in eine Ganzzahl umgewandelt werden kann
except ZeroDivisionError:
# Behandle den Fall, in dem die Eingabe null ist
except:
# Behandle alle anderen unerwarteten Ausnahmen
return NoneDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logic & Flow
1Variablen-Erkundung
KonstantenMehrfache VariablenzuweisungenVariablen tauschenPlatzhalter-VariablenZahlen rundenListen-Casting4Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen7Sets Teil 2
Mathematische Operationen Teil 1Mathematische Operationen Teil 2Rückblick – SchatzsucheTeilmengen und ObermengenIterieren über SetsRückblick – Turnier-Tracker10Grundlagen der List Comprehensions
Die SyntaxEinfache Listen erstellenBedingungen hinzufügenDatenaggregation nutzenRückblick - House Of ListsRückblick - Elements Of Freedom13Bestandsverwaltungssystem
ProjektübersichtArtikel hinzufügen2Dictionaries Teil 1
Was ist ein Dictionary?Ein Dictionary erstellenZugriff auf WerteDictionaries ändernRückblick – Rezept-Manager5Fortgeschrittene Entscheidungsfindung
Ternärer OperatorZugehörigkeitsprüfungenIdentitätsprüfungenEinrückungsfehlerZusammenfassung - Urlaubsfilter8Studenten-Datenverwaltung
ProjektübersichtStudent hinzufügen11Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Recap Challenge – Lambda SortRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Recap – Verschachtelte Listen summieren14Funktionen höherer Ordnung
Die Map-FunktionDie Filter-FunktionWiederholung – E-Mail-ValidatorWiederholung – Zahlenprozessor3Dictionaries Teil 2
Dictionary-MethodenVerschachtelte DictionariesKeys überprüfenDictionaries durchlaufenZusammenfassung – Häufigkeitszähler9Fortgeschrittene Datenaggregation
Verwendung von SumMinimum und Maximum findenDaten effizient sortierenRückblick - Dictionary Sorter12Grundlagen der Fehlerbehandlung
Was ist Fehlerbehandlung?Der Try- und Except-BlockBehandlung mehrerer ExceptionsRückblick – Warenkorb-FehlerÜbe selbstständig: Online-Python-Compiler