Python‎ > ‎

    Ausnahmebehandlung


    Beispiel #1 - IndexError wird behandelt

    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    print "Content-type: text/plain\n\n" def getItem(liste, i):
    try:
    return liste[i]
    except IndexError:
    return "Es existiert kein Element mit dem Index " + str(i) + "." liste = [1, 2, 3]

    print getItem(liste, 5) # Ausgabe: Es existiert kein Element mit dem Index 5.

    Beispiel #2 - IndexError und TypeError werden getrennt behandelt

    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    print "Content-type: text/plain\n\n" def getItem(liste, i):
    try:
    return liste[i]
    except IndexError:
    return "Es existiert kein Element mit dem Index " + str(i) + "." except TypeError:
    return "Der Index muss ein Integer-Wer sein." liste = [1, 2, 3]

    print getItem(liste, "foo") # Ausgabe: Der Index muss ein Integer-Wer sein.

    Beispiel #3 - IndexError und TypeError werden zusammen behandelt

    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    print "Content-type: text/plain\n\n" def getItem(liste, i):
    try:
    return liste[i]
    except (IndexError, TypeError):
    return "Der angegebene Index ist nicht vorhanden oder kein Integer-Wert." liste = [1, 2, 3]

    print getItem(liste, 5) # Ausgabe: Der angegebene Index ist nicht vorhanden oder kein Integer-Wert.
    print getItem(liste, "foo") # Ausgabe: Der angegebene Index ist nicht vorhanden oder kein Integer-Wert.

    Beispiel #4 - IndexError und TypeError werden zusammen behandelt / Fehlermeldung des Systems ausgeben

    #!/usr/bin/env python
    # -*- coding: utf8 -*-

    print "Content-type: text/plain\n\n"

    def getItem(liste, i):
        try:
            return liste[i]
        except (IndexError, TypeError), e:
            return "Fehlermeldung: " + e.message

    liste = [1, 2, 3]

    print getItem(liste, 5) # Ausgabe: Fehlermeldung: list index out of range
    print getItem(liste, "foo") # Ausgabe: Fehlermeldung: list indices must be integers

    Beispiel #5

    #!/usr/bin/env python
    # -*- coding: utf8 -*-

    print "Content-type: text/plain\n\n"

    def getItem(liste, i):
        try:
            print liste[i]
        except (IndexError, TypeError), e:
            print "Fehlermeldung: " + e.message
        else:
            print "Es ist kein Fehler aufgetreten."
        finally:
            print "Diese zeile wird immer ausgegeben."

    liste = [1, 2, 3]

    getItem(liste, 1)

    """
    Ausgabe:

    2
    Es ist kein Fehler aufgetreten.
    Diese zeile wird immer ausgegeben.

    """