DEV Community

Francisco Júnior
Francisco Júnior

Posted on

Lide com Erros no Seu Código Python: Tratamento de Exceções e Exceções Personalizadas

Lidar com erros é uma parte fundamental da programação. Em Python, você pode fazer isso usando tratamento de exceções e levantando exceções personalizadas. Neste artigo, exploraremos esses conceitos, que são essenciais para tornar seu código mais robusto e compreensível.

Tratamento de Exceções em Python

O tratamento de exceções em Python envolve a capacidade de lidar com erros que podem ocorrer durante a execução do programa. Isso permite que você tome medidas apropriadas quando algo inesperado acontece. O bloco de código usado para tratar exceções é composto pelas palavras-chave try, except e opcionalmente finally.

1. try e except

  • O bloco try contém o código que você deseja executar, onde pode ocorrer uma exceção.
  • O bloco except é executado se uma exceção ocorre no bloco try.

Exemplo:

try:
    numero = int(input("Digite um número: "))
    resultado = 10 / numero
    print(f"Resultado: {resultado}")
except ZeroDivisionError:
    print("Divisão por zero não é permitida.")
except ValueError:
    print("Você não digitou um número válido.")
Enter fullscreen mode Exit fullscreen mode

2. finally

  • O bloco finally é opcional e é executado independentemente de ter ocorrido uma exceção ou não.

Exemplo:

try:
    arquivo = open("arquivo.txt", "r")
    conteudo = arquivo.read()
except FileNotFoundError:
    print("O arquivo não foi encontrado.")
finally:
    arquivo.close()
Enter fullscreen mode Exit fullscreen mode

Levantamento de Exceções Personalizadas

Às vezes, você pode querer criar suas próprias exceções personalizadas para representar erros específicos em seu programa. Isso torna mais claro o motivo do erro e ajuda na depuração do código. Para criar uma exceção personalizada, você deve definir uma classe que herda de Exception ou de outra classe de exceção.

Exemplo de exceção personalizada:

class ValorNegativoError(Exception):
    def __init__(self, mensagem="O valor não pode ser negativo"):
        self.mensagem = mensagem
        super().__init__(self.mensagem)

def calcular_idade(idade):
    if idade < 0:
        raise ValorNegativoError("Idade não pode ser negativa.")
    return idade

try:
    idade = calcular_idade(-5)
except ValorNegativoError as erro:
    print(erro)
Enter fullscreen mode Exit fullscreen mode

Conclusão

O tratamento de exceções e o levantamento de exceções personalizadas são técnicas essenciais para lidar com erros de forma eficaz em seu código Python. Com essas ferramentas, você pode controlar situações inesperadas, fornecer mensagens de erro claras e manter seu programa em execução de maneira robusta. À medida que você se torna mais experiente, poderá personalizar ainda mais o tratamento de exceções para atender às necessidades específicas do seu projeto. Lembre-se de praticar o uso dessas técnicas para melhorar a qualidade e a confiabilidade do seu código Python.

Top comments (0)