DbselectArea não funcionando dentro do bloco Try - TLPP

Boa tarde,

Ao efetuar o desenvolvimento de uma rotina em TLPP notei que ao colocar o DbSelectArea dentro do bloco TRY, o comando não funciona e a rotina vai direto para o bloco CATCH indicando erro, isso ocorreu com as tabelas DUY, DV8 e DWY.

Por gentileza, podem me auxiliar no porque isso ocorre? Se é erro do produto ou algo no meu ambiente.

Obrigado.

Atenciosamente,

Icaro

Icaro,

O DBSelectArea só troca a workarea corrente, acontece que a lib possui um tratamento de erro que ao fazer o DBSelectArea de um alias do SX2, a lib intercepta o erro e abre a tabela.

Quando você cria um try/catch você acaba ficando responsável pelo erro gerado e isso pode levar a inúmeras situações de erro as quais por padrão, você não costuma se preocupar, como rollback de numeração automática, abrir as tabelas do Protheus entre outros tratametos.

Recomendo você fazer o DBSelectArea fora do tratamento de erro e fazer uso do mesmo com cautela, pois o Protheus já tem um tratamento de erro padrão, que é o error.log, o error.log faz parte da lib e não da linguagem, toda aquela dialog com diversas informações é uma implementação em ADVPL.