Wyjątki jako stringi (historia)

WPROWADZENIE

Jeżeli nasz program rozpozna pewną błędną sytuację, możemy zgłosić (raise) wyjątek.


# Określamy nasz nowy wyjątek jako string.
BadNumberError = "BadNumberError"
BadNumberMessage = "13 przynosi pecha"

def read_number():
    number = int(raw_input("Podaj liczbę: "))
    if number == 13:      # nie podoba nam się liczba 13
        raise BadNumberError, BadNumberMessage
    return number

try:
    n = read_number()
except BadNumberError:
    print ( "przechwycenie BadNumberError" )

Wyjątki oparte na łańcuchach znaków zniknęły w Pythonie 2.6+ i 3.x. Obecnie korzysta się z wyjątków opartych na klasach.