Fehlerbehandlung

Python ist bei der Fehlerbehandlung etwas grob. Passieren irgendwelche Fehler (wenn zum Beispiel ein String übergeben wird, obwohl eine Ganzzahl erwartet ist), dann bricht Python Ihr Programm ab und gibt Ihnen meistens eine wenig aufschlussreiche Fehlermeldung aus. Wenn Sie aber bereits beim Programmieren wissen, dass der Nutzer eventuell falsche Dinge eingeben könnte, können Sie den Fehler in Python relativ leicht abfangen. Dazu gibt es try und except.

So sieht die Verwendung im Allgemeinen aus:

try:
    <potentiell kritischer Code>
except:
    <das wird ausgeführt, wenn bei try ein Fehler aufgetreten ist>

Wenn Sie zum Beispiel nicht sicher sind, wie viele Kommandozeilenparameter (sys.argv) Ihrem Programm übergeben wurden, dann können Sie try, except verwenden um das mehr oder weniger vorsichtig herauszufinden. (die schlauere Variant wäre hier überigens: len(sys.argv))

Gehen wir davon aus, Sie schreiben ein Programm, was zwei über die Kommandozeile übergebene Zahlen addieren soll und das Ergebnis ausgibt. Dann könnte ihr Programm folgendermaßen aussehen:

import sys
 
try:
    resultat=int(sys.argv[1])+int(sys.argv[2])
    print "Das Ergebnis von %d + %d = %d"%(int(sys.argv[1]),int(sys.argv[2]), resultat)
except:
    print "Benutzung: %s <a> <b>"%sys.argv[0]

int wandelt den String in eine Ganzzahl um. Sie können sich sicher vorstellen, dass bei dem Code einige Fehlerquellen lauern könnten. Zum Einen ist ungeklärt ob der Nutzer überhaupt die beiden Parameter angibt, und zum anderen ist unklar ob diese sich in Ganzzahlen umwandeln lassen.