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
?