Uma referência ao objeto exceção é
dada ao throw, que faz com que esse objeto seja retornado pelo método mesmo
que o tipo do objeto não seja o esperado.
O objeto exceção é
retornado ao ponto do programa onde exceções são tratadas ao invés do ponto
onde o método foi chamado.
O throw pode retornar qualquer objeto cuja
classe herde direta ou indiretamente da classe Throwable.
Isso permite
que diferentes exceções sejam geradas para diferentes tipos de
erros.