Como Capturar Múltiplas Exceções em Python em Uma Linha
As exceções são uma parte fundamental da programação em Python, permitindo que você lide com erros de forma controlada e eficiente. Neste tutorial, vamos explorar como criar e utilizar exceções personalizadas com a instrução raise em Python. Este conteúdo é voltado para programadores intermediários que já possuem familiaridade com a sintaxe básica da linguagem.
Em Python, a instrução raise permite que você lance uma exceção manualmente em seu código. Isso é útil quando você deseja interromper a execução do programa e sinalizar que algo deu errado, fornecendo uma mensagem de erro específica. Vamos ver como isso funciona na prática.
Antes de mergulharmos no raise, é importante relembrar a estrutura básica do bloco try-except, que é usado para capturar e tratar exceções.
try:
# Código que pode causar um erro
x = int(input("Digite um número: "))
except ValueError:
# Código que executa se ocorrer um erro
print("Valor inválido! Por favor, digite um número.")TestarNeste exemplo, se o usuário digitar algo que não pode ser convertido para um inteiro, o bloco except será executado, exibindo uma mensagem de erro.
A instrução raise é usada para lançar uma exceção manualmente. Isso pode ser útil em várias situações, como validação de dados ou controle de fluxo. Veja um exemplo simples:
def calcular_raiz_quadrada(numero):
if numero < 0:
raise ValueError("Impossível calcular a raiz quadrada de um número negativo!")
return numero ** 0.5
try:
resultado = calcular_raiz_quadrada(-10)
except ValueError as e:
print(e)TestarNeste exemplo, a função calcular_raiz_quadrada lança uma exceção ValueError se o número fornecido for negativo. O bloco try-except captura essa exceção e exibe a mensagem de erro.
Além de usar exceções embutidas, você pode criar suas próprias exceções personalizadas. Isso é feito criando uma nova classe que herda de Exception.
class ErroPersonalizado(Exception):
pass
def verificar_valor(valor):
if valor > 100:
raise ErroPersonalizado("O valor não pode ser maior que 100!")
try:
verificar_valor(150)
except ErroPersonalizado as e:
print(e)TestarAqui, criamos uma exceção personalizada chamada ErroPersonalizado e a utilizamos na função verificar_valor. Se o valor for maior que 100, a exceção é lançada e capturada no bloco try-except.
Em alguns casos, pode ser útil capturar uma exceção e lançar outra, mantendo a exceção original como contexto. Isso é feito com a sintaxe raise ... from.
try:
x = int("não é um número")
except ValueError as e:
raise RuntimeError("Erro ao converter string para inteiro") from eNeste exemplo, capturamos uma ValueError e lançamos uma RuntimeError, mantendo a ValueError original como contexto.
As exceções com raise em Python são uma ferramenta poderosa para controle de fluxo e tratamento de erros. Elas permitem que você crie mensagens de erro específicas e mantenha seu código limpo e robusto. Lembre-se de usar exceções personalizadas quando necessário e de capturar exceções de forma adequada para evitar que erros passem despercebidos.
Esperamos que este tutorial tenha ajudado a entender melhor como utilizar exceções com raise em Python. Continue praticando e explorando as possibilidades que essa funcionalidade oferece!
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp