Sobes.tech
Junior

O que é o tratamento de exceções em Python?

sobes.tech IA

Resposta da IA

O tratamento de exceções em Python é um mecanismo para capturar e responder a erros ou eventos que interrompem a execução normal do programa.

Utiliza o bloco try...except...finally ou try...except...else...finally.

try:
    # Código que pode gerar uma exceção
    result = 10 / 0
except ZeroDivisionError:
    # Tratamento de uma exceção específica
    print("Erro: Divisão por zero!")
except Exception as e:
    # Tratamento de qualquer outra exceção
    print(f"Ocorreu um erro: {e}")
else:
    # Executa se não houve exceções no bloco try
    print("Operação bem-sucedida.")
finally:
    # Sempre executado, independentemente de exceções
    print("Bloco finally executado.")

Componentes principais:

  • try: Bloco de código onde se espera uma possível exceção.
  • except: Bloco de código que é executado quando ocorre um tipo específico de exceção no try. Pode-se usar múltiplos except para diferentes tipos de exceções.
  • else: (Opcional) Bloco de código que é executado se nenhuma exceção ocorrer no try.
  • finally: (Opcional) Bloco de código que é sempre executado, independentemente de uma exceção ocorrer ou não. Comumente usado para liberar recursos (por exemplo, fechar arquivos).
  • raise: Palavra-chave para lançar explicitamente uma exceção.
def divide(a, b):
    if b == 0:
        raise ValueError("O divisor não pode ser zero")
    return a / b

try:
    divide(10, 0)
except ValueError as e:
    print(f"Tratamento de exceção personalizada: {e}")

Vantagens:

  • Aumenta a confiabilidade do programa.
  • Isola o código que pode causar erros.
  • Permite separar de forma mais limpa a lógica normal de execução da lógica de tratamento de erros.