Control de errores

La sentencia try especifica controladores de excepciones y/o código de limpieza para un grupo de sentencias. Cuando se produce un error o excepción cuando las llemamos, Python normalmente se detiene y genera un mensaje de error. Estas excepciones se pueden manejar usando los bloqye de try.

try:
   ...
except:
   ...
else:
   ...
finally:
   ...
Bloques Try
BloqueDescripcion
trybloque te permite comprobar si hay errores en un bloque de código.
exceptbloque te permite gestionar el error.
elsebloque permite ejecutar código cuando no hay ningún error.
dinallybloque permite ejecutar código, independientemente del resultado de los bloques try y except.

Excepciones

Las excepciones son la herramienta que implementa Python para manejar los errores potenciales de un programa. Cuando una porción de código quiere indicar que ocurrió un error, se dice que debe lanzar una excepción, mientras que, cuando otra quiere saber si surgió un error y actuar en consecuencia, se dice que debe capturarla o manejarla. Si una excepción es lanzada y ningún código la captura, el programa finaliza.

while True:
   try:
      edad = int(input('Escribe tu edad: '))
      break
   except ValueError:
      print('Debes ingresar un número !')

if edad >= 18:
   print('Eres un adulto.')
else:
   print('Aún no eres un adulto.')
def solicitar_edad():
   try:
      return int(input('Escribe tu edad: '))
   except ValueError:
      return solicitar_edad()

edad = solicitar_edad()

Definiendo una excepción

Eventualmente necesitaremos definir nuevas excepciones si ninguna de las incorporadas se adecúa a nuestros intereses. Simplemente debemos crear una clase que herede de Exception

class NuevaExcepcion(Exception):
   pass