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.