Alguém poderia me dar um exemplo de uma situação que seria melhor criar uma classe que extends RuntimeException (unchecked) em vez de Exception (checked)?
Na minha cabeça já que extends Exception deixa minha exceção checked, ou seja, terei ajuda do próprio compilador pra ver se meu código funciona (já que eu tenho que adicionar throws nos métodos que lançam exceção), por que eu deveria usar RuntimeException em algum momento? Se usando RuntimeException eu ainda corro o risco de ter um programa que lança uma exceção em tempo de execução e que eu nem tratei e o compilador nem teve como me ajudar neste caso.