Los errores en Python pueden 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 presiona el final del archivo sin leer ningún dato ImportError: si no puede encontrar el módulo
Pruebe excepto en Python
La declaración Try and Except se utiliza para manejar estos errores dentro de nuestro código en Python. El bloque try se utiliza para comprobar si hay errores en algún código, es decir, el código dentro del bloque try se ejecutará cuando no haya ningún error en el programa. Mientras que el código dentro del bloque excepto se ejecutará siempre que el programa encuentre algún error en el bloque try anterior.
Sintaxis:
try: # Some Code except: # Executed if error in the # try block>
¿Cómo funciona try()?
- Primero el intentar se ejecuta la cláusula, es decir, el código entre intentar.
- Si no hay excepción, entonces sólo el intentar la cláusula se ejecutará, excepto La cláusula está terminada.
- Si ocurre alguna excepción, el intentar se omitirá la cláusula y excepto se ejecutará la cláusula.
- Si ocurre alguna excepción, pero el excepto La cláusula dentro del código no lo maneja, se pasa al exterior. intentar declaraciones. Si la excepción no se controla, la ejecución se detiene.
- A intentar La declaración puede tener más de una. excepto cláusula
Código 1: Sin excepción, por lo que el intentar se ejecutará la cláusula.
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>)> |
>
>
Espacio Auxiliar: O(1)
Producción :
Yeah ! Your answer is : 1>
Código 1: Hay una excepción así que sólo excepto se ejecutará la cláusula.
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>)> |
>
concatenación sql
>
Producción :
Sorry ! You are dividing by zero>
Código 2: La otra forma de escribir excepto declaración, se muestra a continuación y de esta manera, solo acepta excepciones que debe detectar o puede verificar qué error está ocurriendo.
Python3
# code> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> Exception as e:> ># By this way we can know about the type of error occurring> >print>(>'The error is: '>,e)> > divide(>3>,>'GFG'>)> divide(>3>,>0>)> |
>
>
Producción:
The error is: unsupported operand type(s) for //: 'int' and 'str' The error is: integer division or modulo by zero>
Cláusula de lo contrario
En Python, también puedes usar la cláusula else en el bloque try-except que debe estar presente después de todas las cláusulas except. 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 terminació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:
- Preguntas de salida
- Manejo de excepciones en Python
- Excepciones definidas por el usuario