Árvore de páginas

Toda execução do REST é protegido pela camada do tlppCore, evitando falta de retorno ou outros efeitos colaterais quando houver erros de runtime.

Embora haja um tratamento padrão para os erros, é possível customizar esse tratamento através de uma função configurada através do onError, sendo assim, o usuário pode por exemplo, enviar por e-mail o erro, gerar eventos de monitoramento, ou seja, conforme a necessidade de cada um.

Parâmetros

A função customizada de tratamento de erro recebe o objeto oError, para mais detalhes sobre esse objeto, consulte sua documentação no TDN.

Retorno

Não há utilidade para retorno algum pois é ignorado, portanto sugerimos que o retorno seja NULL.

Exemplo

function U_onError( oError as object )

   local cCodeTrace   := U_getCodeTrace() as character
   local cFault       := '' as character
   
   U_TrataErro( cCodeTrace, oError:genCode, oError:description )

   cFault += '{'
   cFault += '"code":"' + cCodeTrace + '",'
   cFault += '"message":"um erro interno ocorreu, procure o administrador do sistema"'
   cFault += '}'

   if ( type('oRest') == 'O' )
       oRest:SetFault( cFault )
   endif

return Nil

Nesse exemplo, padronizamos o retorno de mensagem com um código de rastro e deixamos para uma função de Tratamento de erro U_TrataErro(), essa função estaria registrando o erro em local de fácil localização posterior para que o administrador de sistema tome as devidas providências.

Esse é somente um exemplo do que pode ser feito através desse Callback.

Importante: Caso seja configurado o Callback de OnError e, nem na função configurada, nem momento anterior o Código de Status ou a Mensagem de retorno tenha sido modificada pela implementação do usuário, a camada tlppCore irá garantir que o serviço REST retorno o código 500 - Internal Server Error.

  • Sem rótulos