Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Runtimexception ou Exception

Na aula é passado que o ideal na criação da exceção customizada é melhor extender da classe RuntimeException pois é uma exceção do tipo unchecked ai não é obrigado fazer o try cath.

Em que situação seria interessante extender de Exception que é uma execeção do tipo chequed? quando eu quiser obrigar a tratar a exceção?

E nestes casos de eu ter uma parte do programa que lança a exceção do tipo RuntimeException, por onde o método passar também não precisarei em cada método colocar o trows RuntimeException?

2 respostas
solução!

Olá, Anderson! Tudo bem?

Na criação de exceções customizadas, é recomendado estender a classe RuntimeException quando se trata de exceções do tipo unchecked, ou seja, aquelas que não precisam ser obrigatoriamente tratadas pelo desenvolvedor. Por outro lado, é interessante estender a classe Exception quando se trata de exceções do tipo checked, ou seja, aquelas que precisam ser obrigatoriamente tratadas pelo desenvolvedor.

Quando você estende a classe Exception, você está obrigando o desenvolvedor a tratar a exceção ou lançá-la novamente para que seja tratada em outro ponto do programa. Isso é útil em casos em que a exceção pode ser tratada de forma específica em algum ponto do programa.

Quanto à sua segunda pergunta, se um método lança uma exceção do tipo RuntimeException, você não precisa declarar essa exceção no método que o chama. Isso ocorre porque as exceções do tipo RuntimeException não precisam ser obrigatoriamente tratadas pelo desenvolvedor. No entanto, se você quiser que a exceção seja tratada em algum ponto do programa, é possível capturá-la e tratá-la de forma específica.

Espero ter ajudado e bons estudos!

Ajudou sim Otávio, entendi o conceito geral. Vou praticar um pouco agora isto.

Valeu, este estilo de curso com várias ferramentas diferentes associadas é muito bom.