Exercícios Resolvidos de Tratando exceções

Ver Teoria

Enunciado

Observe o seguinte programa:

Escreva o que será impresso na tela caso o mesmo seja executado com o seguinte arquivo de entrada:

Passo 1

Bom, vamos lá!

A primeira coisa que nós iremos fazer é analisar o arquivo de entrada desse programa (program.in).

Com isso, sabemos que o programa terá a entrada de dois números, que são: 5 e 3.

Passo 2

Agora que já sabemos quais são as entradas, podemos executarmos o programa em busca de exceções.

Dentro de um bloco try o programa irá requisitar a entrada de dois números do tipo float para as variáveis n 1 e n 2 , sem problemas até aqui, uma vez que 5 e 3 estão presentes no conjunto dos números reais.

Passo 3

Em seguida, uma variável r e s u l t a d o recebe o resultado da divisão entre n 1 e n 2 . Mais uma vez, tudo está tranquilo.

Passo 4

Por fim, temos a impressão da variável r e s u l t com precisão de duas casas decimais.

PERA!

Nós não temos uma variável r e s u l t e sim uma variável r e s u l t a d o . Logo, uma exceção será gerada, mais precisamente a exceção NameError.

Passo 5

Agora ficou fácil, só nos resta analisarmos as exceções que foram tratadas.

Nós temos o tratamento de exceções do tipo ValueError, ZeroDivisionError e uma para todas as outras exceções.

Como a nossa exceção não é nem do tipo ValueError quanto do tipo ZeroDivisionError, o que será impresso na tela é aquilo executado no bloco onde temos apenas except.

Resposta

Portanto, o que será impresso na tela é: “Algo deu errado.”