Questão FC331169
Analise o código Python a seguir. x = 0 y = 20 try: print (y/x) except: print("Deu erro!") else: print("Ok") finally: print ("The end") A saída produzida pela execução desse trecho
Linguagens de Programação
FGV · 2022
Analise o código Python a seguir.
x = 0
y = 20
try:
print (y/x)
except:
print("Deu erro!")
else:
print("Ok")
finally:
print ("The end")
A saída produzida pela execução desse trecho é:
- None
The end
- Deu erro!
The end
- Deu erro!
Ok
- Ok
The end
- None
Ok
The end
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
O bloco try tenta executar a expressão \(y/x\). Com \(x = 0\) e \(y = 20\) ocorre uma divisão por zero, gerando uma exceção do tipo ZeroDivisionError.
Ao ocorrer essa exceção, a execução salta do try para o bloco except, que contém o comando de impressão. Por isso é exibido primeiro o texto Deu erro!.
O bloco else só é executado quando não há exceção no try; como houve erro, o else é ignorado.
O bloco finally é sempre executado, ocorrendo independentemente de sucesso ou falha no try. Assim, após o except será impresso The end.
Portanto a saída aparece na ordem: Deu erro! seguido de The end.
Conteúdo do catálogo FC Concursos · Atualizado em