Probar/Excepto vs. Si/Si no: ¿Qué enfoque es preferible?
Cuando trabajan con excepciones en Python, los desarrolladores a menudo enfrentan el dilema de si se debe probar la validez o intentar una acción y manejar cualquier excepción resultante. Este artículo profundiza en los matices de cada enfoque, proporcionando orientación y ejemplos para informar la toma de decisiones.
Probar/Excepto: aceptar excepciones
Según PEP 20, errores nunca debe pasar en silencio a menos que se silencia explícitamente. Si bien esto puede sugerir que usar un bloque try/except para manejar excepciones es aceptable, es importante tener en cuenta la naturaleza de la excepción que se detecta.
El enfoque try/except es ventajoso cuando la excepción es genuinamente excepcional y ocurre sólo en raras circunstancias. Esto permite una ejecución más rápida al eliminar búsquedas innecesarias. Además, se alinea con la filosofía EAFP de Python (Es más fácil pedir perdón que permiso).
Aceleraciones y código más limpio
Probar/excepto puede generar velocidad -ups cuando el caso excepcional es poco frecuente y verificar su ocurrencia requeriría búsquedas adicionales. Por ejemplo, intentar acceder a un elemento en un índice específico dentro de una lista larga es más rápido usando try/except en comparación con verificar si el índice está dentro de los límites usando if/else.
Además, try/except promueve un código más limpio condensando múltiples declaraciones condicionales en un solo bloque, mejorando la legibilidad y reduciendo el número de líneas.
Ejemplo:
Considere lo siguiente fragmentos de código:
# If/else approach
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
# Try/except approach
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
El enfoque try/except es más conciso, evita la búsqueda adicional y maneja el IndexError solo cuando ocurre.
Conclusión
Si bien tanto try/except como if/else tienen sus ventajas, try/except se prefiere generalmente cuando da como resultado mejoras de velocidad, código más limpio o maneja casos excepcionales sin sacrificar la visibilidad de la excepción. Al adoptar excepciones y utilizarlas sabiamente, los desarrolladores de Python pueden crear código sólido, legible y eficiente.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3