Cómo manejar una sola excepción en python

Algunas cosas que se desarrollan en Python tienen un terrible hábito de escupir excepciones cuando los valores de las entradas del usuario inesperados. Parte de la solución es proporcionar la comprobación de rango. Sin embargo, la comprobación de rango no supera el problema de un texto a escribir el usuario, como Hola en lugar de un valor numérico esperado. El manejo de excepciones proporciona una solución más compleja al problema, como se describe en los pasos siguientes.

1

Abra una ventana de Python Archivo.

Usted ve un editor en el que puede escribir el código de ejemplo.

2

Escriba el siguiente código en la ventana - presione ENTRAR después de cada línea:

tratar: Valor = int (input ("Escriba un número entre 1 y 10:")) excepto ValueError: ("¡Debe escribir un número entre 1 y 10") de impresión más: si (valor> 0) y (Valor lt; = 10): print ("Usted escribió:" Value) else: print ("El valor que ha escrito es incorrecto!")

El código dentro de la probar bloque tiene sus excepciones manejadas. En este caso, el manejo de la excepción significa obtener la entrada del usuario mediante el int (input ()) pide. Si se produce una excepción fuera de este bloque, el código no manejarlo.

Con fiabilidad en mente, la tentación podría ser para encerrar todo el código ejecutable en una probar bloque para que se maneja cada excepción. Sin embargo, usted desea hacer su gestión de excepciones pequeño y específico para hacer localizar el problema más fácil.

los excepto bloque busca una excepción específica en este caso: ValueError. Cuando el usuario crea una ValueError excepción escribiendo Hola vez de un valor numérico, se ejecuta este bloque de excepción particular. Si el usuario para generar alguna otra excepción, este excepto bloque no se ocuparía de ello.

los otro bloque contiene todo el código que se ejecuta cuando el probar código de bloqueo tiene éxito (no genera una excepción). El resto del código está en este bloque porque usted no quiere ejecutarlo a menos que el usuario proporciona una entrada válida. Cuando el usuario proporciona un número entero como entrada, el código puede entonces Rango de comprobar para asegurarse de que es correcta.

3

Elija Módulo Run-Run.

Usted ve una ventana abierta Python Shell. La aplicación le pide que escriba un número entre 1 y 10.

Cómo manejar una sola excepción en python
Cómo manejar una sola excepción en python Agrandar
4

Escriba Hola y pulse Intro.

La aplicación muestra un mensaje de error.

5

Realice los pasos 3 y 4 de nuevo, pero escriba 5.5 en lugar de Hola.

La aplicación genera el mismo mensaje de error.

Cómo manejar una sola excepción en python
Cómo manejar una sola excepción en python Agrandar
6

Realice los pasos 3 y 4 de nuevo, pero escribir los 22 en lugar de Hola.

La aplicación envía el mensaje de error rango esperado. El manejo de excepciones no eliminar a errores alcance. No obstante, debe comprobar por separado.

7

Realice los pasos 3 y 4 de nuevo, pero escriba 7 en lugar de Hola.

Esta vez, la aplicación por último informa que usted ha proporcionado un valor correcto de 7. A pesar de que parece como un montón de trabajo para llevar a cabo este nivel de comprobación, realmente no se puede estar seguro de que la aplicación funciona correctamente sin ella.

Cómo manejar una sola excepción en python
Cómo manejar una sola excepción en python Agrandar
8

Realice los pasos 3 y 4 de nuevo, pero pulse Ctrl + C, Cmd + C, o la alternativa para su plataforma en lugar de escribir nada.

La aplicación genera una KeyboardInterrupt excepción. Debido a que esta excepción no se maneja, sigue siendo un problema para el usuario.




» » » » Cómo manejar una sola excepción en python