como posso fazer para o catch voltar ao ponto que originou o problema, corrigindo-o igual faz o errorsys ??
Isso eh possivel ??
Quem faz uso do try....catch como esta tratando isto nestes casos
Alexandre
Moderador: Moderadores
Código: Selecionar todos
PROCEDURE RM_TEST_RECOVER( bBlock )
LOCAL xResult
LOCAL oError
LOCAL bOldError := ErrorBlock( {|oError| Break( oError ) } )
BEGIN SEQUENCE
xResult := Eval( bBlock )
RECOVER USING oError
xResult := ErrorMessage( oError )
END SEQUENCE
ErrorBlock( bErrorOld )
RETURN

Código: Selecionar todos
TRY
DBcreate('tabela', aVETOR, 'DBFCDX') // se der erro aqui, cai no CATCH
CATCH
MsgStop("Erro ao Criar tabela")
__Quit()
END
/* TRY / CATCH / FINALLY / END */
#xcommand TRY => BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#xcommand FINALLY => ALWAYS