Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Próxima »

Toda execução do REST é protegida 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 da chamada de uma função configurada no Callback 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á retorno.




Exemplo

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.


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




Observações:

  • Se o onError for implementado, a mensagem de erro só será exibida em console caso o desenvolvedor implemente sua impressão (através do conout por exemplo)
  • 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