next up previous contents index 6163656769
Next: A. Wie werden Programme Up: Programming Python Teil I: Previous: 6. Module   Contents   Index


7. Ausnahmen

Ausnahmen dienen dazu, Unsinn abzufangen. Schauen Sie sich das folgende Beispiel einmal an:

def kaboom(list,n):

  print list[n]

Die Anweisung

kaboom([1,2,3],3)
ergibt einen Fehler, da das dritte Element ja nicht existiert (die Listenindices beginnen bei Null!!). Um auf diese Weise den Code nicht zum Absturz zu bringen, wird dieser Fehler durch eine Ausnahmebehandlung abgefangen, die wie folgt aussieht:

try:

  kaboom([1,2,3],3)

except IndexError:

  print 'Das ging daneben'

Der von dem Standard-Fehlerkanal des Rechners zurückgegebene Wert muss in einem Objekt aufgefangen werden, das hie IndexError heisst. Falls dieser »richtig« ist, also sich von Null unterscheidet, wird der Code ausgeführt, der in dem except-Anweisungsblock steht. Wenn das Ganze für Sie wie eine Fallunterscheidung via if aussieht, so haben Sie recht. Genau das ist so. Aber if kann keine Fehler abfangen, die Systemmeldungen sind. Daher muss die Angelegenheit mit try und except erfolgen.


next up previous contents index 6163656769
Next: A. Wie werden Programme Up: Programming Python Teil I: Previous: 6. Module   Contents   Index
Heiko Schroeder 2003-03-19