Gostaria de saber porque nao foi necessario por o Throws ao lado do metodo, fiz dessa forma, ambas tiveram o mesmo resultado, mas gostaria de entender quando é necessario fazer isso e quando nao é.
fiz assim
    public void deposita (double valor)throws IllegalArgumentException {
        if (valor > 0){
            this.saldo += valor ;
            }
        else {
            throw new IllegalArgumentException();
        }
    } 
            