En este artículo, discutiremos cómo capturar todas las excepciones en Python utilizando las declaraciones try, excepto con la ayuda de ejemplos adecuados. Pero antes veamos diferentes tipos de errores en Python.
En general, hay dos tipos de errores en Python, es decir, error de sintaxis y excepciones . Veamos la diferencia entre ellos.
Diferencia entre error de sintaxis y excepciones
Error de sintaxis: como sugiere el nombre, este error se debe a una sintaxis incorrecta en el código. Conduce a la terminación del programa.
Ejemplo: error de sintaxis en Python
Python3
# initialize the amount variable amount = 10000 # check that You are eligible to # purchase Dsa Self Paced or not if(amount > 2999) print("You are eligible to purchase Dsa Self Paced")
Producción:
SyntaxError: invalid syntax
Excepciones: se generan excepciones cuando el programa es sintácticamente correcto, pero el código resultó en un error. Este error no detiene la ejecución del programa, sin embargo, cambia el flujo normal del programa.
Ejemplo: Excepción en Python
Python3
# initialize the amount variable marks = 10000 # perform division with 0 a = marks / 0 print(a)
Producción:
ZeroDivisionError: division by zero
Declaración Try and Except: captura de todas las excepciones
Las declaraciones Try y Except se utilizan para capturar y manejar excepciones en Python. Las declaraciones que pueden generar excepciones se mantienen dentro de la cláusula try y las declaraciones que manejan la excepción se escriben dentro de la cláusula excepto.
Ejemplo: Python captura todas las excepciones
Python3
# Python program to handle simple runtime error a = [1, 2, 3] try: print ("Second element = %d" %(a[1])) # Throws error since there are only 3 # elements in array print ("Fourth element = %d" %(a[3])) except: print ("Error occurred")
Second element = 2 An error occurred
En el ejemplo anterior, las declaraciones que pueden causar el error se colocan dentro de la declaración de prueba (segunda declaración de impresión en nuestro caso). La segunda declaración de impresión intenta acceder al cuarto elemento de la lista que no está allí y esto arroja una excepción. Luego, esta excepción es capturada por la declaración de excepción. Sin especificar ningún tipo de excepción, todas las causas de excepción dentro del bloque de prueba serán capturadas por el bloque de excepción. También podemos detectar una excepción específica. Veamos cómo hacer eso.
Captura de una excepción específica
Una declaración de prueba puede tener más de una cláusula excepto, para especificar controladores para diferentes excepciones. Tenga en cuenta que se ejecutará como máximo un controlador. Por ejemplo, podemos agregar IndexError en el código anterior. La sintaxis general para agregar excepciones específicas es:
try: # statement(s) except IndexError: # statement(s) except ValueError: # statement(s)
Ejemplo: captura de una excepción específica en Python
Python3
# Program to handle multiple errors with one # except statement # Python 3 def fun(a): if a < 4: # throws ZeroDivisionError for a = 3 b = a/(a-3) # throws NameError if a >= 4 print("Value of b = ", b) try: fun(3) fun(5) # note that braces () are necessary here for # multiple exceptions except ZeroDivisionError: print("ZeroDivisionError Occurred and Handled") except NameError: print("NameError Occurred and Handled")
Producción
ZeroDivisionError Occurred and Handled
Si comentas la línea fun(3), la salida será
NameError Occurred and Handled
El resultado anterior es así porque tan pronto como Python intenta acceder al valor de b, se produce NameError.
Nota: Para obtener más información, consulte nuestro Tutorial de manejo de excepciones de Python .
Publicación traducida automáticamente
Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA