- El bloque try le permite probar un bloque de código para detectar errores.
- El bloque except le permite manejar el error.
- El bloque finally le permite ejecutar código, independientemente del resultado de los bloques try y except.
Crear y gestionar las excepciones
Cuando ocurre un error, o una excepción, como lo llamamos, Python normalmente se detendrá y generará un mensaje de error.
Estas excepciones se pueden manejar usando la declaración de prueba:
try:
print(x)
except:
print("Ha existido una excepción")
Dado que el bloque try genera un error, se ejecutará el bloque except. Sin el bloque try, el programa se bloqueará y generará un error:
Ejemplo
Esta declaración generará un error, porque x no está definido:
print(x)
Muchas excepciones
Puede definir tantos bloques de excepción como desee, por ejemplo, Si desea ejecutar un bloque de código especial para un tipo especial de error:
Ejemplo
Imprima un mensaje si el bloque try genera un error de nombre y otro para otros errores:
try:
print(x)
except NameError:
print("La variable no se ha definido")
except:
print("Algo no ha ido bien")
ELSE
Puede usar la palabra clave else para definir un bloque de código que se ejecutará si no se generaron errores:
Ejemplo
En este ejemplo, el bloque try no genera ningún error:
try:
print("Hola")
except:
print("Algo no ha ido bien")
else:
print("No han existido errores")
Finally
El bloque finally, si se especifica, se ejecutará independientemente de si el bloque try genera un error o no.
Ejemplo
try:
print(x)
except:
print("Algo no ha ido bien")
finally:
print("'try except' ha terminado")
Esto puede ser útil para cerrar objetos y limpiar recursos:
Ejemplo
Intente abrir y escribir en un archivo que no se pueda escribir:
try:
f = open("archivo_ejemplo.txt")
f.write("Hola Mundo")
except:
print("Algo fué mal cuando escribía el archivo")
finally:
f.close()