LoslegenKostenlos loslegen

Fangen von Ausnahmen

Bevor du anfängst, deine eigenen Ausnahmen zu schreiben, solltest du die Grundlagen des Umgangs mit Ausnahmen beherrschen.

In dieser Übung erhältst du eine Funktion invert_at_index(x, ind), die zwei Argumente annimmt, eine Liste x und einen Index ind, und das Element der Liste an diesem Index invertiert. Zum Beispiel gibt invert_at_index([5,6,7], 0) 1/5 zurück, oder 0.2.

Dein Ziel ist es, eine Fehlerbehandlung zu implementieren, die je nach Art des aufgetretenen Fehlers benutzerdefinierte Ausnahmen auslöst.

Diese Übung ist Teil des Kurses

Einführung in die objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

Verwende ein try - except - except Muster (mit zwei except Blöcken) innerhalb der Funktion, um zwei Ausnahmen wie folgt abzufangen und zu behandeln:

  • try den Code so ausführt, wie er ist, und 1/x[ind] zurückgibt.
  • Wenn ZeroDivisionError auftritt, drucke "Cannot divide by zero!",
  • wenn IndexError auftritt, drucken "Index out of range!"

Du weißt, dass du es richtig gemacht hast, wenn der Code ohne Fehler läuft und die Ausgabe in der Konsole ist:

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Modify the function to catch exceptions
def invert_at_index(x, ind):
  ____:
    return 1/x[ind]
  _____:
    print("____")
  ____:
    print("____")
 
a_list = [5,6,0,7]

# Works okay
print(invert_at_index(a_list, 1))

# Potential ZeroDivisionError
print(invert_at_index(a_list, 2))

# Potential IndexError
print(invert_at_index(a_list, 5))
Code bearbeiten und ausführen