Exceções Personalizadas

Ao longo da nossa carreira, muitas vezes teremos a necessidade de criar as nossas exceções. Como?

Para esse método acima, criaremos uma classe "DivisaoPorZero". Essa classe extenderá RunTimeException. Além disso, criamos um construtor para gerar a mensagem de erro! Usamos o super() para referenciar a classe pai (RunTimeException), e passamos a message. Veja:

public class DivisaoPorZero extends RuntimeException {
    public DivisaoPorZero(String message) {
        super(message);
    }
}

E agora dentro do método, ao invés de lançar uma IllegalArgumentException. Poderemos fazer o seguinte:

private static int dividir(int i, int j) {
    if (j == 0) {
        throw new DivisaoPorZero("Não é possivel realizar divisão por zero.");
    }
    return  i / j;
}

Atualizado