Uma desenvolvedora JAVA chamou um método X que pode gerar um...

Próximas questões
Com base no mesmo assunto
Q873498 Programação
Uma desenvolvedora JAVA chamou um método X que pode gerar uma exceção não verificada. Porém, esta chamada não foi circundada por um bloco de tratamento de exceção. O que acontecerá com este código?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - Compilará e executará normalmente, caso a exceção não seja lançada por X.

No universo da linguagem de programação Java, as exceções são divididas em duas grandes categorias: exceções verificadas (checked exceptions) e exceções não verificadas (unchecked exceptions). As exceções verificadas são aquelas que o compilador exige que sejam tratadas ou declaradas na assinatura do método, enquanto as exceções não verificadas são aquelas que derivam da classe RuntimeException e não requerem tratamento obrigatório ou declaração.

A questão menciona uma exceção não verificada, que é justamente o tipo de exceção que não necessita de tratamento obrigatório. Portanto, se um método em Java chama outro que pode lançar uma exceção não verificada, o código irá compilar mesmo que não haja um bloco de tratamento de exceção como try-catch ou uma cláusula throws na assinatura do método. Isso acontece porque a linguagem de programação Java oferece a liberdade para o programador decidir se quer ou não tratar esse tipo de exceção.

Consequentemente, a alternativa D é a correta. O código irá compilar e, em tempo de execução, se o método X for chamado e não lançar uma exceção, o programa continuará sua execução normalmente. Se o método X lançar uma exceção não verificada e não houver tratamento para tal, a exceção será propagada até encontrar um bloco que a trate ou até terminar abruptamente o programa.

É essencial lembrar que as boas práticas de programação recomendam tratar exceções de forma robusta, mesmo as não verificadas, para evitar problemas de execução e garantir a estabilidade dos sistemas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Olá, caríssimos.

Gabarito: Letra D.

 

Em Java, há exceções checadas e exceções não checadas. Um método é obrigado a estabelecer uma política para todas as exceções checadas lançadas por sua implementação (ou passar a exceção checada mais acima na pilha, ou manipulá-la de alguma forma).

Não há obrigatoriedade em tratar as exceções não checadas lançadas por sua execução.

Considerando que não há necessidade de estabelecer uma política para as exceções não checadas (não verificadas), a alternativa correta é a letra D.

Complementação: https://pt.stackoverflow.com/questions/10732/qual-é-a-diferença-entre-exceções-checadas-checked-e-não-checadas-unchecked (Acessado em 16-03-2018 às 19:47).

Deus seja sempre louvado.

Exceção verificada pelo compilador -> precisa ser tratada

Exceção não verificada pelo compilador -> não precisa ser tratada

Clique para visualizar este comentário

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