Junior
Como re-levantar uma exceção no bloco except?
sobes.tech IA
Resposta da IA
Para relançar uma exceção tratada num bloco except, basta usar a palavra-chave raise sem argumentos. Isto permitirá que a exceção se propague para cima na pilha de chamadas após a execução do código no bloco except.
try:
# Código que pode gerar uma exceção
result = 1 / 0
except ZeroDivisionError as e:
# Tratamento da exceção (por exemplo, registo)
print(f"Erro de divisão por zero: {e}")
# Re-lançar a exceção
raise
Se for necessário lançar outra exceção ou adicionar informação à atual, pode usar raise exceção from a_exceção_atual.
try:
# Código que pode gerar uma exceção
data = {}
value = data['key']
except KeyError as e:
# Exceção KeyError capturada
print(f"Erro de acesso por chave: {e}")
# Lançar uma nova exceção, ligando-a à original
raise ValueError("Formato de dados incorreto") from e