Introducción
Las excepciones definidas por el usuario se definen mediante clases.
class NetworkError(Exception):
pass
Las excepciones siempre heredan de Exception.
Por lo general, son clases vacías. Utilice pass para el cuerpo.
También puede crear una jerarquía de sus excepciones.
class AuthenticationError(NetworkError):
pass
class ProtocolError(NetworkError):
pass
Ejercicio 4.11: Definiendo una excepción personalizada
A menudo es una buena práctica para las bibliotecas definir sus propias excepciones.
Esto facilita distinguir entre las excepciones de Python generadas en respuesta a errores de programación comunes y las excepciones intencionalmente generadas por una biblioteca para señalar un problema de uso específico.
Modifique la función create_formatter() del último ejercicio para que lance una excepción personalizada FormatError cuando el usuario proporciona un nombre de formato incorrecto.
Por ejemplo:
>>> from tableformat import create_formatter
>>> formatter = create_formatter('xls')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "tableformat.py", line 80, in create_formatter
raise FormatError(f"Unknown table format {name}")
tableformat.FormatError: Unknown table format xls
>>>
Resumen
¡Felicitaciones! Has completado el laboratorio de Definición de Excepciones. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.