Exceptions em Java

As Exceptions do Java acontecem quando algo dá errado no seu programa (uma conexão com o banco de dados falha, ocorre falta de memória, um parse errado).

Existem 2 tipos de Exceptions em Java, Checked e Unchecked.

Checked Exceptions

Quando estiver programando em Java usando alguma IDE tipo IntelliJ, Nebeans, Eclipse, e você chamar um método que em sua definição "throws AlgumaException" e essa AlgumaException for uma checked exception, a própria IDE lhe avisará que você precisa tratar a chamada daquele método com um Try-Catch.

Unchecked Exceptions

São exceptions que a IDE (ou o compilador) não avisa que você precisa tratar. São eles: NullPointerException, Exceptions de parse (quando você faz um Integer.parseInt("oi"), por exemplo).

Quando usar cada uma?

Se o cliente ou o desenvolvedor pode fazer alguma coisa para se recuperar da exception, faça-a checked. Se o cliente ou desenvolvedor não pode fazer nada, faça ela unchecked.

Como criar suas próprias Exceptions?

https://www.tutorialspoint.com/What-are-custom-exceptions-in-Java

Referências

Diferenças entre checked e unchecked exceptions no Java
https://www.geeksforgeeks.org/checked-vs-unchecked-exceptions-in-java/

You should also read: