Prueba/excepto de Python y manejo de errores
Evite que sus scripts de Python fallen. Aprenda a intentar, excepto, finalmente bloquear y cómo generar excepciones personalizadas correctamente.
Descripción general
En el mundo real de la programación, los errores son completamente inevitables. Es posible que se eliminen archivos, que se interrumpan las conexiones de red o que un usuario ingrese una letra cuando su secuencia de comandos esperaba un número. Si estos escenarios ocurren sin salvaguardas, Python detiene la ejecución y genera una excepción (un error de tiempo de ejecución), lo que bloquea todo el programa. El manejo de errores es el arte de anticipar y gestionar con gracia estos fallos.
La base de la gestión de errores en Python es la estructura de bloques "try" y "except". Coloca el código potencialmente peligroso dentro del bloque "try". Python intentará ejecutarlo. Si ocurre un error, en lugar de fallar, Python intercepta la excepción e inmediatamente salta hacia abajo para ejecutar el código contenido en el bloque "excepto". Esto permite que el programa se recupere, muestre un mensaje de error amigable y continúe ejecutándose.
Es una práctica recomendada fundamental detectar excepciones específicas y específicas en lugar de escribir un bloque general `except:`. Por ejemplo, detectar `FileNotFoundError` o `ValueError` garantiza explícitamente que está manejando el problema exacto que anticipó, en lugar de enmascarar accidentalmente errores no relacionados (como un error de sintaxis) que realmente necesita conocer.
Python también proporciona un bloque opcional `else`, que se ejecuta solo si el bloque `try` se completó completamente exitosamente sin generar ningún error. Este es el lugar perfecto para poner la lógica que depende absolutamente del éxito de la peligrosa operación. Además, el bloque "finalmente" proporciona una forma de ejecutar código sin importar lo que suceda, ya sea que haya ocurrido un error o no. El bloque "finalmente" es vital para acciones de limpieza, como cerrar conexiones de bases de datos o liberar bloqueos de archivos.
Más allá de detectar errores, Python permite a los desarrolladores activarlos explícitamente utilizando la palabra clave "raise". Generar una excepción le permite imponer restricciones estrictas en su lógica, rechazando datos no válidos antes de que corrompan el estado de su aplicación. Al definir clases de excepción personalizadas que heredan de la clase base `Exception` de Python, los desarrolladores pueden crear jerarquías de errores altamente específicas de dominio para aplicaciones empresariales masivas.
Código y salida de ejecución
Crear seguridad estructural al interactuar con estructuras de archivos potencialmente peligrosas o inexistentes.
def divide_numbers(a, b):
try:
result = a / b
except ZeroDivisionError:
return "Error: Cannot divide by zero!"
except TypeError:
return "Error: Both arguments must be numbers."
else:
return f"The result is {result}"
finally:
print("Execution completed.")
print(divide_numbers(10, 2))
print(divide_numbers(10, 0))Execution completed.
The result is 5.0
Execution completed.
Error: Cannot divide by zero!Implementación paso a paso
- Validar envíos de formularios de usuario
- Garantizar que las solicitudes de red no fallen cuando se agote el tiempo de espera
- Cerrar conexiones de bases de datos de forma segura en un bloque finalmente
Preguntas frecuentes
¿Cuál es la palabra clave "aumentar"?
La palabra clave rise se utiliza para generar una excepción a propósito. Puede definir qué tipo de error generar y el texto que se imprimirá al usuario.
Temas relacionados
Domina las funciones de Python. Aprenda a escribir código reutilizable usando def, definir argumentos, valores de retorno y comprender el alcance a nivel local y global.
Clases de Python y programación orientada a objetosUna introducción completa a las clases, objetos, herencia y conceptos de programación orientada a objetos de Python. Cree modelos de datos sólidos y escale sus aplicaciones Python.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Cómo ordenar una lista en Python
Aprenda a ordenar una lista en Python usando el método sort() y la función sorted(). Descubra ejemplos de ordenación inversa y clasificación de claves personalizadas.
Hoja de trucos sobre tipos de errores y excepciones incorporada de Python
Guía de referencia para tipos de errores comunes de Python. Aprenda a depurar ValueError, TypeError, IndexError, KeyError y generar excepciones.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.