Buscar..


Introducción

Python tiene muchas excepciones integradas que obligan a su programa a generar un error cuando algo falla.

Sin embargo, a veces es posible que necesite crear excepciones personalizadas que sirvan a su propósito.

En Python, los usuarios pueden definir dichas excepciones creando una nueva clase. Esta clase de excepción debe derivarse, directa o indirectamente, de la clase de excepción. La mayoría de las excepciones incorporadas también se derivan de esta clase.

Excepción personalizada

Aquí, hemos creado una excepción definida por el usuario llamada CustomError que se deriva de la clase Exception. Esta nueva excepción se puede generar, como otras excepciones, usando la declaración de aumento con un mensaje de error opcional.

class CustomError(Exception):
       pass

x = 1

if x == 1:
    raise CustomError('This is custom error')

Salida:

Traceback (most recent call last):
  File "error_custom.py", line 8, in <module>
    raise CustomError('This is custom error')
__main__.CustomError: This is custom error

Atrapar Excepción personalizada

Este ejemplo muestra cómo capturar Excepciones personalizadas

class CustomError(Exception):
     pass

try:
    raise CustomError('Can you catch me ?')
except CustomError as e:
    print ('Catched CustomError :{}'.format(e))
except Exception as e:
    print ('Generic exception: {}'.format(e))

Salida:

Catched CustomError :Can you catch me ?


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow