Exceções Personalizadas em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, mergulharemos no mundo das exceções personalizadas em Python usando um cenário de reino de fantasia. O reino está sob ameaça de um dragão ameaçador, e um corajoso cavaleiro dragão foi chamado para defender o reino. No entanto, o cavaleiro encontra vários desafios durante esta missão, enfatizando a necessidade de tratamento de exceções personalizadas em Python.

Criação de Exceção Personalizada

Nesta etapa, criaremos uma classe de exceção personalizada para lidar com cenários específicos quando o cavaleiro dragão enfrentar obstáculos.

  1. Abra um arquivo chamado custom_exceptions.py no diretório /home/labex/project.
## custom_exceptions.py

## Classe de exceção personalizada para lidar com erros relacionados ao dragão
class DragonError(Exception):
    def __init__(self, message):
        super().__init__(message + " - Cuidado com o dragão!")

Após salvar o arquivo, você terá exceções personalizadas prontas para serem usadas.

Usando a Exceção Personalizada

Agora, vamos ver como nosso cavaleiro dragão pode utilizar a exceção personalizada para lidar com um encontro com o dragão.

  1. Abra um arquivo chamado dragon_encounter.py no diretório /home/labex/project.
## dragon_encounter.py

from custom_exceptions import DragonError

def brave_encounter():
    try:
        ## Simulando um encontro com o dragão
        raise DragonError("Error in dragon's lair!")
    except DragonError as e:
        print(e)

brave_encounter()

Execute o script:

python dragon_encounter.py

A informação abaixo deve ser exibida no seu terminal:

Error in dragon's lair! - Beware of the dragon!

Resumo

Neste laboratório, projetamos um cenário envolvendo um reino de fantasia e um cavaleiro dragão para demonstrar o uso de exceções personalizadas em Python. Ao criar uma classe de exceção personalizada e usá-la em um encontro simulado com um dragão, você pode entender a implementação prática de exceções personalizadas e sua importância no tratamento de condições de erro específicas.