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

Prosseguir com a execução do código ou parar ele?

A dúvida que eu fiquei talvez não seja bem uma dúvida, mas sim uma opção. Em que momentos seria melhor eu manter a execução do código mesmo com uma exceção sendo exibida, e em qual seria melhor parar completamente a execução?

Usando o exemplo do vídeo:

function funcao1()
{
    echo 'Entrei na função 1' . PHP_EOL;
    try{

        funcao2();
    } catch (RuntimeException){
        echo 'Erro na execução da função 1'. PHP_EOL;
    }

    echo 'Saindo da função 1' . PHP_EOL;
}

function funcao2()
{
    echo 'Entrei na função 2' . PHP_EOL;
    $arrayFixo = new SplFixedArray(2);
    $arrayFixo[3] = 'Valor';

    for ($i = 1; $i <= 5; $i++) {
        echo $i . PHP_EOL;
    }
    echo 'Saindo da função 2' . PHP_EOL;
}

echo 'Iniciando o programa principal' . PHP_EOL;
funcao1();
echo 'Finalizando o programa principal' . PHP_EOL;

No final dessa execução o resultado seria:

Iniciando o programa principal
Entrei na função 1
Entrei na função 2
Erro na execução da função 1
Saindo da função 1
Finalizando o programa principal

Agora executando o mesmo código, mas adicionando um exit dentro do bloco catch, ficaria:

function funcao1()
{
    echo 'Entrei na função 1' . PHP_EOL;
    try{

        funcao2();
    } catch (RuntimeException){
        echo 'Erro na execução da função 1'. PHP_EOL;
        exit;
    }

    echo 'Saindo da função 1' . PHP_EOL;
}

function funcao2()
{
    echo 'Entrei na função 2' . PHP_EOL;
    $arrayFixo = new SplFixedArray(2);
    $arrayFixo[3] = 'Valor';

    for ($i = 1; $i <= 5; $i++) {
        echo $i . PHP_EOL;
    }
    echo 'Saindo da função 2' . PHP_EOL;
}

echo 'Iniciando o programa principal' . PHP_EOL;
funcao1();
echo 'Finalizando o programa principal' . PHP_EOL;

E o resultado seria:

Iniciando o programa principal
Entrei na função 1
Entrei na função 2
Erro na execução da função 1

Pra resumir toda essa bagunça (rsrs), quando eu devo ou não parar completamente a execução de um código ao se ter um Exception?

1 resposta
solução!

Olá Elisame, tudo bem?

Em geral, a decisão de prosseguir ou não com a execução do código após uma exceção ser lançada depende muito do contexto ou projeto em que você está trabalhando.

Por exemplo, em um caso pode ser necessário parar completamente a execução do código, como em sistemas críticos de segurança, onde um erro pode comprometer todo o sistema. Em outros casos, pode ser possível prosseguir com a execução do código, mesmo com a exceção sendo exibida, desde que o erro não comprometa a integridade dos dados ou a segurança do sistema.

Em resumo, é importante avaliar cada caso individualmente e tomar a decisão que melhor se adequa ao contexto em questão.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓