Nesse vídeo demonstraremos a utilização da função UserException, que serve para encerrar uma rotina mostrando a pilha de chamadas que gerou.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "Totvs.ch"
/*/{Protheus.doc} User Function zExe520
Abre uma tela de error log com a pilha de chamadas
@type Function
@author Atilio
@since 05/04/2023
@see https://tdn.totvs.com/display/tec/UserException
@obs
Função Upper
Parâmetros
+ cDescricao , Caractere , String que indica a descrição do erro forçado
Retorno
Função não tem retorno
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe520()
Local aArea := FWGetArea()
Local cQuery := ""
//Monta uma query normal que conterá um erro
cQuery := " UPDATE " + RetSQLName("SB1") + "aaa " + CRLF
cQuery += " SET B1_X_TESTE = 'ZZ" + Time() + "' " + CRLF
cQuery += " WHERE B1_COD = 'F0001' " + CRLF
//Se houve falha, mostra uma mensagem
If TCSqlExec(cQuery) < 0
UserException("Falha na atualizacao: " + TCSQLError())
EndIf
FWAlertInfo("Processo concluido!", "Teste UserException")
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até próxima.