Boa tarde pessoal,
Alem da sugestão do
gkro, como alternativa para não mudar muita coisa em seu código, levando em conta que você não está realizando a validação prévia, seria colocar esse trecho dentro de uma função que retornaria "true" ou "false", fora da função teria uma variável que receberia a mensagem de erro para você fazer os devidos tratamentos, você executaria a função validando o retorno.
Não sei como está seu código, mas abaixo segue uma sugestão para você analisar se cabe ou não implementar algo do tipo.
private $erros_na_transmissao;
private function Transmissao(
$codigo_sefaz_forma_de_pagamento,
$tipo_da_nota
){
try{
$dados['codigo_sefaz_forma_de_pagamento'] = $codigo_sefaz_forma_de_pagamento;
if ($tipo_da_nota == 2):
$this->nfce->emitir($dados);
elseif ($tipo_da_nota == 1):
$this->nfe->emitir($dados);
endif;
return true;
}
catch(Exception $e){
$this->erros_na_transmissao = $e->getMessage();
return false;
}
}
if ($emite_nota && !empty($tipo_da_nota){
if (!$this->Transmissao(
$codigo_sefaz_forma_de_pagamento,
$tipo_da_nota)){
"Você pode fazer o tratamento da mensagem retornada"