Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Quando usar Exception e RuntimeException ?

Caso eu for criar uma exception qualquer, quando devo extender de Exception ou RuntimeException ? pode dar exemplos de cenários para as duas ?

2 respostas
solução!

RuntimeException são exceções que podem ser evitadas fazendo uma verificação antes.

Ex.:NullPointerException: se você fizer um if variavel == null, dá para evitá-la.

Um outro exemplo, digamos que você tenha um sistema bancário com um método "sacar".Nela você poderia jogar uma exceção SaldoInsuficienteException que estende RuntimeException caso o saldo seja insuficiente. Ela poderia ser evitada checando o saldo do usuário antes de invocar o sacar.

Já Exception são exceções que não tem como evitar. Ex.: SQLException: você não tem como estar 100% seguro de que não vai dar problema na conexão com o banco de dados, por isso é essencial fazer catch para tomar uma atitude.