Definindo Exceções Python Personalizadas

Beginner

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

Introdução

Exceções definidas pelo usuário são definidas por classes.

class NetworkError(Exception):
    pass

Exceções sempre herdam de Exception.

Geralmente, elas são classes vazias. Use pass para o corpo.

Você também pode criar uma hierarquia de suas exceções.

class AuthenticationError(NetworkError):
     pass

class ProtocolError(NetworkError):
    pass

Exercício 4.11: Definindo uma exceção personalizada

É frequentemente uma boa prática para bibliotecas definir suas próprias exceções.

Isso facilita a distinção entre exceções Python levantadas em resposta a erros comuns de programação versus exceções intencionalmente levantadas por uma biblioteca para sinalizar um problema específico de uso.

Modifique a função create_formatter() do exercício anterior para que ela levante uma exceção FormatError personalizada quando o usuário fornecer um nome de formato inválido.

Por exemplo:

>>> 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
>>>

Resumo

Parabéns! Você concluiu o laboratório Definindo Exceções. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.