Manejo de excepciones de Python

Manejo de excepciones de Python

Introducción

Python te hará saber cuando te equivocas con la sintaxis. Inmediatamente fallará y no permitirá que su programa se ejecute.

¿Qué pasa cuando su código tiene un tipo diferente de problema?? Se llaman excepciones, y tienden a ser más difíciles de atrapar. Depende de usted reconocer situaciones en las que HEY podría aparecer y atraparlas para evitar que su programa se bloquee por completo.

Imagine un escenario en el que necesite la entrada del usuario. ¿Desea que su programa se bloquee cada vez que un usuario confirma algo o entra en algo erróneo?? Eso está lejos de ser ideal. Como sabes que podría haber un problema allí, puedes decirle a Python que busque uno y recuperarte con gracia.

Intenta y excepto

Cuando sabe que existe la posibilidad de que aparezca una excepción, le pide a Python que pruebe el código y busque una excepción. Eche un vistazo en el contexto del ejemplo de Número desde antes.

intente: número = int (input ("Ingrese cualquier número:")) excepto: imprimir ("Eso no funcionó ...") 

Ahora, en lugar de bloquear, usted continuará, incluso si el usuario entra basura.

También puede decirle a Python exactamente qué tipo de excepción debe buscar. En este caso, sería un ValueError.

Prueba: número = int (input ("Ingrese cualquier número:")) excepto ValueError: imprime ("No ingresó un número!") 

Si Python sabe qué tipo de excepción está buscando, puede decirle cómo responder en consecuencia.

Haz lo tuyo

Puede hacer sus propias excepciones escribiéndolas como clases que heredan del Excepción clase base o cualquiera de las otras clases de excepción.

Clase NewException (excepción): pase 

Debe incorporar en su programa cómo usar sus excepciones personalizadas.

Elevar excepciones

Hay una opción para elevar manualmente las excepciones con aumentar.

Prueba: Levante NewException excepto NewException: Imprimir ("Falló según lo planeado!") 

Múltiples excepto

Si espera que pueda haber más de una excepción, puede construir múltiples con intentar. Comience haciendo un par de excepciones personalizadas.

Class ExceptionA (Exception): Pass Class ExceptionB (excepción): Pase 

Ahora, úsalos con intentar.

Prueba: elevar la excepciónb excepto (excepcionA, excepcionb): imprimir ("Era A o B") 

Por supuesto, eso no es lo mejor porque en un escenario real, no sabrías qué excepción realmente ocurrió.

Intente usar separado excepto cláusulas en su lugar.

Pruebe: elevar la excepciónb excepto excepción: imprimir ("ExceptionA ocurrió") excepto ExceptionB: imprime ("ExceptionB ocurrió") excepto: imprime ("algo más sucedió ...") 

El tercero excepto actúa para atrapar cualquier otra excepción. Ese es el comportamiento predeterminado cuando no se da una excepción específica.

Más y finalmente

Hay dos cláusulas adicionales para manejar lo que sucede después de que se manejan las excepciones. Ayudan a su código a responder a las excepciones.

El demás La cláusula le permite ejecutar código solo si no se ha planteado una excepción.

Prueba: número = int (input ("Ingrese cualquier número:")) excepto ValueError: imprime ("No ingresó un número!") else: imprimir (número ** 2) 

Solo desea intentar realizar una operación en el número si se ingresa uno.

El finalmente La causa se ejecutará independientemente de cualquier excepción. Siempre se ejecutará al final del intentar bloquear.

Prueba: número = int (input ("Ingrese cualquier número:")) excepto ValueError: imprime ("No ingresó un número!") else: imprimir (número ** 2) Finalmente: imprimir (" Esto siempre se ejecutará.") 

Pensamientos de cierre

Es importante entender qué puede salir mal con sus programas. Es igual de importante saber que la cosa saldrá mal. Al contabilizar las excepciones, puede hacer que su código sea lo más estable posible y no frustrar a sus usuarios.

Ejercicios

  1. Cree un código que plantee una excepción no controlada.
  2. Use un bloque de prueba para manejar esa excepción.
  3. Crear una clase de excepción personalizada
  4. Elevar esa excepción personalizada en un bloque de try.
  5. Cree un bloque de prueba con un código que solo se ejecuta si no se plantea una excepción.

Tutoriales de Linux relacionados:

  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Manejo de la entrada del usuario en scripts bash
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cómo bloquear Linux
  • Cómo usar ADB Android Debug Bridge para administrar su Android ..
  • Tutorial de depuración de GDB para principiantes
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Ubuntu 20.04 Guía
  • Sistema colgado de Linux? Cómo escapar a la línea de comando y ..