Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Código não Funciona

Aparece o seguinte erro: Fatal error: Uncaught Exceptions\SaldoInsuficienteException: [0]: O saldo é insuficiente!

thrown in /Users/flaviomnz/Documents/Projetos/PHP/PHP_Exceptions/ContaCorrente.php on line 55

public function sacar($valor)
    {
        Validacao::verificaNumerico($valor);
        Validacao::verificaNumeroPositivo($valor);

        if($this->saldo <= 0 || $this->saldo < $valor){
            $this->contadorSaquesNaoPermitidos ++;
            throw new Exceptions\SaldoInsuficienteException("O saldo é insuficiente!", $this->saldo, $valor);
        }

        $this->saldo -= $valor;
        return $this;
    }
1 resposta
solução!

Olá Flavio,

Esse erro está correto! Esse é um erro criado por você intencionalmente para aparecer quando um saque inválido acontecer, então aumentando o saldo da conta ou diminuindo o valor do saque o código deve executar sem erros.

No seu código você definiu um teste para verificar se o saque pode ser feito, caso a conta tenha um saldo maior que 0 e caso esse saldo seja maior que o valor sacado, caso contrário o saque não pode ser feito e o código vai retornar esse erro.

Assim o erro que está aparecendo é o erro que você definiu no código, que aparece quando o saque não pode ser feito:

// Testa se o saque pode ser feito
if($this->saldo <= 0 || $this->saldo < $valor){
    $this->contadorSaquesNaoPermitidos ++;

    // Exibe o erro que você está vendo atualmente para impedir um saque inválido de acontecer
    throw new Exceptions\SaldoInsuficienteException("O saldo é insuficiente!", $this->saldo, $valor);
}

Espero ter ajudado! Qualquer dúvida é só falar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software