Nesse vídeo demonstraremos em como tratar execuções, sem que caia nossa thread, tratando também os erros através dos comandos Begin Sequence e End.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe064
Exemplo de como realizar tratativas e recuperar caso haja falhas
@type Function
@author Atilio
@since 06/12/2022
@see https://tdn.totvs.com/display/public/framework/BEGIN+SEQUENCE+...+END
@obs
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe064()
Local aArea := FWGetArea()
Local cError := ""
Local bError := ErrorBlock({ |oError| cError := oError:Description})
Local nVar := 1
Local cVar := "A"
//Inicio a utilização da tentativa
Begin Sequence
nVariavel := nVar + cVar
End Sequence
//Restaurando bloco de erro do sistema
ErrorBlock(bError)
//Se houve erro, será mostrado ao usuário
If ! Empty(cError)
FWAlertError("Houve um erro na fórmula digitada: " + CRLF + CRLF + cError, "Teste com Begin Sequence")
EndIf
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.