
Need tekkinud erindid on võimalik "kinni püüda" ja kasutada neid programmi suunamiseks "haruteele":
>>>def jaga(jagatav, jagaja):..."Jagab jagatava jagajaga"...try:...return jagatav/jagaja...except ZeroDivisionError:...print "Nulliga ei saa jagada!"...return None...>>>jaga(6,2) 3>>>jaga(6,0) Nulliga ei saa jagada!
Ülaltoodud programm püüab kinni ainult nulliga jagamise vea, kui üritada jagajaks või jagatavaks sokutada stringi, siis lõpeatab funktsioon töö veateatega:
>>> jaga(6,'kassikangas')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<stdin>", line 4, in jaga
TypeError: unsupported operand type(s) for /: 'int' and 'str'
Selle vastu aitab see, kui defineerida ka tüübi vea püüdmise erind:
>>>def jaga(jagatav, jagaja):..."Jagab jagatava jagajaga"...try:...return jagatav/jagaja...except ZeroDivisionError:...print "Nulliga ei saa jagada!"...return None...except TypeError:...print "Jagada saab ainult arve!"...return None
Erindite defineerimisel tuleb lähtuda tervest mõistusest ja otstarbekusest - eelkõige kinni püüda need vead, mis muidu oleksid raskesti avastatavad, või need, mis on kerged tekkima (näiteks kasutaja sisestab vale tüüpi andmed)