Versão atual:

Uso correto do RECOVER USING com o BEGIN SEQUENCE

Olá,

Qual a forma correta de usar o RECOVER USING < variável >?

No TDN é mencionado, mas não tem exemplo, eu tentei de várias formas mas não consigo recuperar o erro do ErrorBlock e passar para o Recovery.

https://tdn.totvs.com/display/public/framework/BEGIN+SEQUENCE+...+END

    Local oError := ErrorBlock({|e| Break(e)})
    Local cTeste

    BEGIN SEQUENCE
        If "a" == 1

        Endif
    RECOVER USING oErrorBlock
        cTeste := oErrorBlock:Description
    END SEQUENCE

    MsgAlert(cTeste)

    ErrorBlock(oError)

Inclusive em alguns repositórios usando xBase/Clipper, tem alguns fontes que utilizam semelhante ao exemplo acima: https://github.com/ibarrar/clipper/blob/4ff3209b5f889121eeae870df702d179b2498553/CLIPPER5/SOURCE/ERRORSYS/ERR11.PRG#L48

Versões (3):

Ver a versão formatada

Uso correto do RECOVER USING com o BEGIN SEQUENCE

Comentário

new question