El error en Python puede ser de dos tipos, es decir, errores de sintaxis y excepciones. Los errores son los problemas en un programa debido a que el programa detendrá la ejecución. Por otro lado, se generan excepciones cuando ocurren algunos eventos internos que cambian el flujo normal del programa.
Nota: Para obtener más información, consulte Errores y excepciones en Python
. Algunos de los errores de excepción comunes son:
- IOError: si el archivo no se puede abrir
- KeyboardInterrupt: cuando el usuario presiona una tecla no requerida
- ValueError: cuando la función incorporada recibe un argumento incorrecto
- EOFError: si se alcanza el final del archivo sin leer ningún dato
- ImportError: si no puede encontrar el módulo
Prueba Excepto en Python
La declaración Try and Except se usa para manejar estos errores dentro de nuestro código en Python. El bloque de prueba se utiliza para comprobar si hay errores en el código, es decir, el código dentro del bloque de prueba se ejecutará cuando no haya ningún error en el programa. Mientras que el código dentro del bloque de excepción se ejecutará cada vez que el programa encuentre algún error en el bloque de prueba anterior.
Sintaxis:
try: # Some Code except: # Executed if error in the # try block
¿Cómo funciona probar()?
- Primero, se ejecuta la cláusula de prueba , es decir, el código entre la cláusula de prueba y excepción .
- Si no hay ninguna excepción, solo se ejecutará la cláusula de prueba , excepto que la cláusula esté terminada.
- Si se produce alguna excepción, se omitirá la cláusula de prueba y se ejecutará la cláusula de excepción .
- Si ocurre alguna excepción, pero la cláusula de excepción dentro del código no la maneja, se pasa a las declaraciones de prueba externas . Si la excepción no se controla, la ejecución se detiene.
- Una declaración de prueba puede tener más de una cláusula excepto
Código 1: sin excepción, por lo que se ejecutará la cláusula de prueba .
Python3
# Python code to illustrate # working of try() def divide(x, y): try: # Floor Division : Gives only Fractional Part as Answer result = x // y print("Yeah ! Your answer is :", result) except ZeroDivisionError: print("Sorry ! You are dividing by zero ") # Look at parameters and note the working of Program divide(3, 2)
Producción :
('Yeah ! Your answer is :', 1)
Código 1: hay una excepción, por lo que solo se ejecutará la cláusula excepto .
Python3
# Python code to illustrate # working of try() def divide(x, y): try: # Floor Division : Gives only Fractional Part as Answer result = x // y print("Yeah ! Your answer is :", result) except ZeroDivisionError: print("Sorry ! You are dividing by zero ") # Look at parameters and note the working of Program divide(3, 0)
Producción :
Sorry ! You are dividing by zero
Cláusula de lo contrario
En python, también puede usar la cláusula else en el bloque try-except que debe estar presente después de todas las cláusulas excepto. El código ingresa al bloque else solo si la cláusula try no genera una excepción.
Sintaxis:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception
Código:
Python3
# Program to depict else clause with try-except # Function which returns a/b def AbyB(a , b): try: c = ((a+b) // (a-b)) except ZeroDivisionError: print ("a/b result in 0") else: print (c) # Driver program to test above function AbyB(2.0, 3.0) AbyB(3.0, 3.0)
Producción:
-5.0 a/b result in 0
Finalmente palabra clave en Python
Python proporciona una palabra clave finalmente, que siempre se ejecuta después de los bloques try y except. El bloque final siempre se ejecuta después de la finalización normal del bloque de prueba o después de que finaliza el bloque de prueba debido a algunas excepciones.
Sintaxis:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)
Código:
Python3
# Python program to demonstrate finally # No exception Exception raised in try block try: k = 5//0 # raises divide by zero exception. print(k) # handles zerodivision exception except ZeroDivisionError: print("Can't divide by zero") finally: # this block is always executed # regardless of exception generation. print('This is always executed')
Producción:
Can't divide by zero This is always executed
Artículos relacionados:
Este artículo es aportado por Mohit Gupta_OMG 😀 . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA