As classes java.io.LineNumberReader e java.io.Reader em Java...

Próximas questões
Com base no mesmo assunto
Q689576 Programação

As classes java.io.LineNumberReader e java.io.Reader em Java podem ser utilizadas para ler arquivos. Avalie o fragmento abaixo, e em seguida, assinale a alternativa correta.

Imagem associada para resolução da questão

Alternativas

Comentários

Veja os comentários dos nossos alunos

 

As exceções FileNotFoundException e IOException devem vir antes da exceção Throwable, pois elas tratam situações
específicas (ex.: arquivo não encontrado). Quando se coloca uma exceção muito genérica (ex.: Throwable) antes das
exceções específicas (ex.: FileNotFoundException), por definição, o programa nunca ativará as exceções específicas
que estão logo depois da exceção genérica. Assim, tem-se um uso incorreto da linguagem.
Fonte:
DEITEL, Harvey; DEITEL, Paul. J. Java: como programar. 8. ed. São Paulo: Pearson, 2015.
 

Um construtor não possui tipo ( nem mesmo VOID ) e, ao mesmo tempo, não se pode criar um método com o mesmo nome da classe sem que seja um CONSTRUTOR.

Dessa forma, acredito que o erro do código está na atribuição do tipo VOID na intenção de se criar um construtor.

GABARITO D

Segundo DEITEL Java: como programar "O Java permite que outros métodos da classe além dos seus construtores tenham o mesmo nome da classe e especifiquem tipos de retorno. Esses métodos não são construtores e não serão chamados quando um objeto da classe for instanciado".

Portanto, o erro do código não tem a ver com o método HandleFile que possui o mesmo nome da classe, pois isso não dá erro de compilação, ele só não será um método construtor e sim um método normal.

O erro está realmente no que a colega Fernanda Leal disse, quando se coloca uma exceção muito genérica (ex.: Throwable) no primeiro bloco catch, e depois as exceções específicas (ex.: FileNotFoundException) nos demais blocos catch, dá erro de compilação. Para corrigir o erro, deve-se colocar as exceções específicas primeiro, nos primeiros blocos catch, e depois as genéricas nos últimos blocos catch.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo