Lançando exceção com o Throw

Uma outra forma de lançarmos exceção é com o Throws.

Como assim? Bom, ao invés de trabalhar com o try-catch, podemos usar o Throws new! Veja:

Abaixo temos um método que fará uma divisão básica. Mas caso o denominador informado pelo usuário seja zero, lançará uma exceção.

O unico problema é o seguinte. Sempre que resolvermos lançar uma exceção dessa forma sem o try-catch, ela precisa ser TRATADA, no método. Escrevendo throws Exception, depois dos ().

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

Todos os métodos que chamarem um método que recebe essa exceção, DEVEM realizar o mesmo throws em sua linha.

Se o Main chamar esse método dividir, terá que tratar da mesma forma com o throws Exception.

Atualizado