In [2]:
1/0
Incluso los errores sintácticos o la utilización de símbolos no definidos se notifica mediante excepciones:
In [15]:
missing_function()
In [8]:
try:
1/0
except ZeroDivisionError as e:
print("Exception raised: '{}'".format(e))
Es posible capturar todas las excepciones si se utiliza "except:", pero es algo que se debe evitar porque inadvertidamente se pueden ocultar problemas que después serán difíciles de localizar.
In [2]:
def raising_exception(a):
if a > 3:
raise IndexError()
raising_exception(20)
In [3]:
class MyException(Exception):
pass
raise MyException()