Pular para o conteúdo principal

Postagens

Mostrando postagens de março, 2010

Postagem em destaque

🚀 Oferecendo Serviços Remotos de Desenvolvedor AdvPL e Mais 🖥️

🚀 Oferecendo Serviços Remotos de Desenvolvedor AdvPL e Mais 🖥️ Olá pessoal, Espero que este post encontre todos vocês bem! É com grande entusiasmo que compartilho que estou expandindo meus serviços como Desenvolvedor AdvPL para novos desafios e colaborações. Com mais de duas décadas de experiência sólida, minha jornada profissional tem sido enriquecedora, com a oportunidade de participar de projetos empolgantes ao longo dos anos. Agora, estou ansioso para trazer minha experiência e habilidades para novas equipes e projetos, trabalhando de forma remota. Minha expertise abrange não apenas AdvPL, mas também outras tecnologias-chave, incluindo JS, SQL, Infraestrutura e Otimização de Processos. Acredito que essa combinação de conhecimentos me permite oferecer soluções abrangentes e eficazes para uma variedade de necessidades de desenvolvimento. Acredito que a tecnologia tem o poder de transformar negócios e impulsionar o sucesso, e estou comprometido em ajudar meus clientes a alcançar seu

Protheus :: Tratamento de Erro :: Simulando Try/Catch

Sabemos que para tratamento de erros/exceções em Advpl devemos trabalhar com as funções ErrorBlock() e/ou SysErrorBlock() e BEGIN SEGUENCE/RECOVER/END como no exemplo abaixo: Function TrySample1() //Salvando o bloco de erro do sistema e Atribuindo tratamento personalizado Local bError := ErrorBlock( { |oError| MyError( oError ) } ) BEGIN SEQUENCE //Forçando um erro para avalia-lo. __EXCEPTION__->ERROR := "__EXCEPTION__" RECOVER //"Se ocorreu erro, após o BREAK, venho para cá" MsgInfo( "Peguei o Desvio do BREAK" ) END SEQUENCE MsgInfo( "Continuo após o tratamento de erro" ) //Restaurando bloco de erro do sistema ErrorBlock( bError ) Return( NIL ) Static Function MyError( oError ) MsgInfo( oError:Description , "Deu Erro" ) BREAK Return( NIL ) Para Simular o mesmo tratamento acima, usando agora try/catch, que no nosso exemplo estará como TRYEXCEPTION, CATCHEXCEPTION e ENDEXCEPTION, proceda da seguinte forma: Baixe o arquivo tryexcep