1
resposta

Essa função faz sentido?

Estou aprendendo o uso das exception, gostaria de saber se usar "IF" nesse caso é valido já que estou apenas checando valores das variáveis.

public void checkup() {
        if(valor < 0) {
            throw new ValorInvalidoException("Valor '" + valor + "' invalido!");
        }    
        if(duracao <= 0) {
            throw new DuracaoInvalidaException("Duracao '" + duracao + "' invalida!");
        }
        if(valorParcela < 0) {
            throw new ValorParcelaInvalidoException("ValorParcela '" + valorParcela + "' invalido!");
        }
        if(dataFinal.before(dataInicio)) {
            throw new DatasInvalidasException("DataFinal > DataInicial");
        }
    }

(Não há erro de compilação nem nada, apenas gostaria de saber se misturar o if com throw é uma boa prática)
1 resposta

Opa Felipe, misturar if com throw faz todo sentido sim. É justamente assim que fazemos quando queremos lançar exceções quando algo não está de acordo.