Puede surgir una situación en la que se necesite información adicional a partir de una excepción planteada por Python.
Python tiene dos tipos de excepciones, a saber, excepciones incorporadas y excepciones definidas por el usuario .
¿Por qué usar Argumento en Excepciones?
El uso de argumentos para Excepciones en Python es útil por las siguientes razones:
- Se puede utilizar para obtener información adicional sobre el error encontrado.
- Como el contenido de un Argumento puede variar según los diferentes tipos de Excepciones en Python, se pueden proporcionar Variables a las Excepciones para capturar la esencia de los errores encontrados. El mismo error puede ocurrir por diferentes causas, los Argumentos nos ayudan a identificar la causa específica de un error usando la cláusula excepto .
- También se puede usar para atrapar múltiples excepciones, usando una variable para seguir la tupla de Excepciones.
Argumentos en excepciones incorporadas:
Los siguientes códigos demuestran el uso de argumento con excepciones integradas:
Ejemplo 1:
Python3
try: b = float(100 + 50 / 0) except Exception as Argument: print( 'This is the Argument\n', Argument)
Producción:
This is the Argument division by zero
Ejemplo 2:
Python3
my_string = "GeeksForGeeks" try: b = float(my_string / 20) except Exception as Argument: print( 'This is the Argument\n', Argument)
Producción:
This is the Argument unsupported operand type(s) for /: 'str' and 'int'
Argumentos en excepciones definidas por el usuario:
Los siguientes códigos demuestran el uso de argumentos con excepciones definidas por el usuario:
Ejemplo 1:
Python3
# create user-defined exception # derived from super class Exception class MyError(Exception): # Constructor or Initializer def __init__(self, value): self.value = value # __str__ is to print() the value def __str__(self): return(repr(self.value)) try: raise(MyError("Some Error Data")) # Value of Exception is stored in error except MyError as Argument: print('This is the Argument\n', Argument)
Producción:
This is the Argument 'Some Error Data'
Ejemplo 2:
Python3
# class Error is derived from super class Exception class Error(Exception): # Error is derived class for Exception, but # Base class for exceptions in this module pass class TransitionError(Error): # Raised when an operation attempts a state # transition that's not allowed. def __init__(self, prev, nex, msg): self.prev = prev self.next = nex try: raise(TransitionError(2, 3 * 2, "Not Allowed")) # Value of Exception is stored in error except TransitionError as Argument: print('Exception occurred: ', Argument)
Producción:
Exception occurred: (2, 6, 'Not Allowed')
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA