Definiendo excepciones personalizadas en Python

Beginner

This tutorial is from open-source community. Access the source code

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.