Cómo manejar más específica a las excepciones menos específicos en python
Una estrategia para el manejo de excepciones en Python es proporcionar específica excepto cláusulas para todas las excepciones conocidas y genérico excepto cláusulas para manejar excepciones desconocidas. Echa un vistazo a la jerarquía de excepción que utiliza Python. Al ver esta gráfica, BaseException es la excepción más alta. La mayoría de las excepciones se derivan de Excepción. Cuando se trabaja a través de errores matemáticos, puede utilizar el genérico ArithmeticError o una más específica ZeroDivisionerror excepción.
Evalúa Python excepto cláusulas en el orden en el que aparecen en el archivo de código fuente. La primera cláusula se examinó en primer lugar, la segunda cláusula se examina segundo, y así sucesivamente. Los siguientes pasos le ayudarán a examinar un ejemplo que demuestra la importancia de utilizar el orden excepción correcta. En este caso, a realizar tareas que dan lugar a errores matemáticos.
Abra una ventana de Python Archivo.
Usted ve un editor en el que puede escribir el código de ejemplo.
Escriba el siguiente código en la ventana - presione ENTRAR después de cada línea:
Proveedores: Valor1 = int (input ("Escriba el primer número:")) Value2 = int (input ("Escriba el segundo número:")) de salida = Valor1 / Value2except ValueError: print ("Usted debe escribir un número entero!" ) excepto KeyboardInterrupt: print ("Ha pulsado Ctrl + C"), excepto ArithmeticError: print ("Se ha producido un error matemático indefinido.") excepto ZeroDivisionerror: print ("Se ha intentado dividir por cero!") else: print (Salida)
El código comienza mediante la obtención de dos entradas: Valor1 y Valor2. Los primeros dos excepto cláusulas manejan entrada inesperada. El segundo de dos excepto cláusulas manejar excepciones de matemáticas, tales como dividir por cero. Si todo va bien con la solicitud, el otro cláusula ejecuta, que imprime el resultado de la operación.
Elija Módulo Run-Run.
Usted ve una ventana abierta Python Shell. La aplicación le pide que escriba el primer número.
Escriba Hola y pulse Intro.
Como era de esperar, Python muestra el ValueError mensaje de excepción. Sin embargo, siempre vale la pena comprobar si hay problemas potenciales.
Elija Módulo Run-Run de nuevo.
Usted ve una ventana abierta Python Shell. La aplicación le pide que escriba el primer número.
Tipo 8 y pulse Intro.
La aplicación le pedirá que introduzca el segundo número.
Escriba 0 y pulse Intro.
Usted ve el mensaje de error para el ArithmeticError excepción. Lo que usted debe ver realmente es el ZeroDivisionerror excepción porque es más específica que la ArithmeticError excepción.
Invertir el orden de las dos excepciones para que se vieran como esto:
excepto ZeroDivisionerror: print ("Se ha intentado dividir por cero!"), excepto ArithmeticError: print ("Se ha producido un error matemático indefinido.")
Realice los pasos 5 a 7 de nuevo.
Esta vez, se ve la ZeroDivisionerror mensaje de excepción debido a que las excepciones aparecen en el orden correcto.
Realice los pasos 5 a 7 de nuevo, pero de tipo 2 para el segundo número en lugar de 0.
Esta vez, la aplicación por último informa de un valor de salida de 4,0.
Observe que el resultado es un valor de coma flotante. Resultados de la división en un valor de coma flotante a menos que se especifique que desea una salida de enteros utilizando el operador de división piso (//).
Sobre el autor
¿Cómo crear una cola de aplicación basada en Python LA cola funciona de manera diferente que una pila en Python. Piense en cualquier línea que hayas estuviste en: Vas a la parte de atrás de la línea, y al llegar a la parte delantera de la línea se llega a hacer lo que estuviste en la línea de…
Cómo crear pilas utilizando listas en Python Puede utilizar listas para crear pilas en Python. Una pila es una estructura de programación muy útil porque se puede utilizar para guardar un entorno de ejecución de aplicaciones (el estado de las variables y otros atributos del entorno de la…
¿Cómo definir una función en Python Creación de una función no requiere mucho trabajo. Python tiende a hacer las cosas rápido y fácil para usted. Los pasos siguientes muestran el proceso de creación de una función que se puede acceder más tarde:1Abra una ventana del intérprete…
¿Cómo conseguir la entrada del usuario para su aplicación python Muy pocas aplicaciones existen en su propio mundo - es decir, aparte del usuario. Esto se aplica a las aplicaciones de Python también. De hecho, la mayoría de las aplicaciones interactúan con los usuarios de una manera importante porque los…
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…
Cómo manejar excepciones en Python usando la cláusula finally Normalmente quieres manejar cualquier excepción que se produce de una manera que no cause su aplicación Python se bloquee. Sin embargo, a veces no se puede hacer nada para solucionar el problema, y la aplicación es sin duda va a…
Cómo manejar las excepciones anidadas en python A veces es necesario colocar una rutina de excepciones de manejo dentro de otra en un proceso llamado anidación. Cuando nido rutinas excepción de manipulación, Python intenta encontrar un manejador de excepciones en el nivel anidado primero y…
Cómo reemplazar la sentencia switch con un diccionario en Python La mayoría de los lenguajes de programación (Python excluido), proporcionan algún tipo de sentencia switch. Una sentencia switch proporciona selecciones elegantes tipo menú. El usuario tiene un número de opciones, pero se le permite elegir…
Cómo utilizar la sentencia ifelse en una aplicación python Incluso la introducción de datos del tipo incorrecto produce un mensaje de error en Python, pero entrar en el tipo correcto de los datos fuera del rango dice nada al usuario. En este ejemplo, a descubrir los medios para corregir este problema…
Cómo utilizar la sentencia ifelif en una aplicación python Su aplicación Python puede llegar al punto en el que es necesario utilizar el elif cláusula. Usted va a un restaurante y mira el menú. El restaurante ofrece huevos, panqueques, waffles, y la harina de avena para el desayuno. Después de elegir…
Cómo utilizar la sentencia if en una aplicación python Es posible utilizar el si declaración en un número de maneras en una aplicación Python. Sin embargo, inmediatamente se necesita saber acerca de tres maneras comunes de usarlo:Utilice una sola condición para ejecutar una única sentencia, cuando…
Cómo manejar excepciones sql Al tratar de determinar el origen de un error de SQL y SQLSTATE indica una condición de excepción mediante la celebración de un valor distinto 00000, 00001, o 00002, es posible que desee manejar la situación en una de las siguientes…