Citando ' Código concluído '
Use [sair] quando aumenta a legibilidade Em certas rotinas, uma vez você sabe a resposta, você quer [sair] para a rotina de chamada imediatamente. Se a rotina é definida de tal forma que não requer qualquer limpeza adicional, uma vez que detecta um erro, não [saindo] significa imediatamente que você tem que escrever mais código.
Portanto, normalmente é preferível uma saída (as pessoas que olham para o seu código não precisam encontrar a instrução de saída correta), mas a verificação de erros (especialmente no início de um programa / rotina com várias instruções de saída é mais clara).
Seu exemplo é limítrofe, no entanto, eu diria que o segundo é o preferido para que a manutenção do seu programa / script possa deixá-lo organizado.
Seu programa atualmente é (em psudocode)
if error condition 1
// Show error message 1
else
// Do stuff
fi
ou
if error condition 1
// Show error message 1
// exit
fi
// Do stuff
Uma vez que seu programa tenha crescido, você perceberá algumas outras maneiras de o programa falhar. Seu programa agora se torna
if error condition 1
// Show error message 1
else
if error condition 2
// Show error message 2
else
if error condition 3
// Show error message 3
else
// Do stuff
fi
fi
fi
ou talvez
if error condition 1
// Show error message 1
else if error condition 2
// Show error message 2
else if error condition 3
// Show error message 3
else
// Do stuff
fi
versus
if error condition 1
// Show error message 1
// exit
else if error condition 2
// Show error message 2
// exit
else if error condition 3
// Show error message 3
// exit
fi
// Do stuff
Na minha opinião, o último é o mais claro em ser capaz de identificar quais são os casos de erro e qual é o fluxo principal do programa. Agora adicione valores diferentes retornados (por exemplo, 0 em sucesso, 1 em erro 1, 2 em erro 2, etc.) e a diferença se tornará mais pronunciada.