Try Except en Python

try El bloque permite probar el bloque de código para encontrar errores.

except El bloque permite manejar errores.

finally El bloque permite ejecutar código, independientemente del resultado del bloque try y except.

Manejo de excepciones

Cuando llamamos a Python y se produce un error o excepción, generalmente nos detendremos y generaremos un mensaje de error.

Se puede usar try Sentencias para manejar estas excepciones:

Ejemplo

El bloque try generará una excepción porque x no está definido:

try:
  print(x)
except:
  print("Se produjo una excepción")

Ejecutar Ejemplo

Porque el bloque try lanzó un error, se ejecutará el bloque except.

Si no hay bloque try, el programa se caerá y lanzará un error:

Ejemplo

Esta sentencia lanzará un error porque x no está definido:

print(x)

Ejecutar Ejemplo

Múltiples excepciones

Puede definir tantas excepciones como necesite, por ejemplo, si desea ejecutar un bloque de código especial para tipos de errores específicos:

Ejemplo

Si el bloque try lanza NameErrorImprime un mensaje si es otro error, sino, imprime otro mensaje:

try:
  print(x)
except NameError:
  print("La variable x no está definida")
except:
  print("Algo más salió mal")

Ejecutar Ejemplo

Else

Si no se lanzó un error, puede usar else Palabras clave para definir el bloque de código a ejecutar:

Ejemplo

En este ejemplo,try El bloque no generará ningún error:

try:
  print("Hola")
except:
  print("Algo salió mal")
else:
  print("Nada salió mal")

Ejecutar Ejemplo

Finally

Si se especificó finally Si hay un bloque, independientemente de si el bloque try lanza un error o no, se ejecutará el bloque finally.

Ejemplo

try:
  print(x)
except:
  print("Algo salió mal")
finally:
  print("El 'try except' se ha completado")

Ejecutar Ejemplo

Esto es muy útil para cerrar objetos y limpiar recursos:

Ejemplo

Intentar abrir y escribir en un archivo no editable:

try:
  f = abrir("demofile.txt")
  f.write("Lorum Ipsum")
except:
  imprimir("Algo salió mal al escribir en el archivo")
finally:
  f.close()

Ejecutar Ejemplo

El programa puede continuar y no abrir el objeto de archivo.

Lanzar excepciones

Como desarrollador de Python, puede optar por lanzar excepciones cuando se cumpla una condición.

Para lanzar (levantar) excepciones, utilice levantar Palabras clave.

Ejemplo

Si x es menor que 0, se lanza una excepción y se detiene el programa:

x = -1
si x < 0:
  levantar Exception("Disculpe, no se permiten números menores que cero")

Ejecutar Ejemplo

levantar Palabras clave para lanzar excepciones.

Puede definir el tipo de excepción que se lanza y el texto que se imprime al usuario.

Ejemplo

Si x no es un entero, se lanza TypeError:

x = "hola"
si no type(x) es int:
  levantar TypeError("Solo se permiten enteros")

Ejecutar Ejemplo