Página 1 de 1
Tratamento de Erros com Minigui
Enviado: 20 Dez 2014 11:54
por Cavalo Marinho
Bom dia Pessoal, como faço para tratar erros em Minigui? em linguagens como o Java tem o bloco try catch que se gerar um erro dentro do try ele salta imediatamente para o bloco cath, e aí voce consegue tratar o erro. como eu faria em Minigui/Harbour? :%
Tratamento de Erros com Minigui
Enviado: 20 Dez 2014 12:54
por Toledo
Amigo, basta incluir no início do seu PRG o comando:
Ai você poderá usar o Try e Catch sem problema algum.
Abraços,
Tratamento de Erros com Minigui
Enviado: 20 Dez 2014 16:43
por Cavalo Marinho
Boa atarde Toledo
Em primeiro lugar quero agradecer muito pela sua resposta, :{ , se voce tiver algum exemplo mas detalhado de como usar eu agradeço imensamente, estou insistindo porque eu gostaria de saber como capturar o erro para poder fazer o tratamento devido, por exemplo se o erro é de banco de dados, se o erro variável, etc, já andei pesquisando na pasta sample da minigui mas não encontrei nada, tem muitas pastas e não conseguir nada por lá. mais uma vez obrigado.
Tratamento de Erros com Minigui
Enviado: 20 Dez 2014 21:50
por Toledo
Amigo, a MiniGui já tem uma rotina para tratamento de erros, veja o arquivo ErrorSys.prg que está na pasta \SOURCE. Sempre que ocorre algum erro no sistema, é criado um arquivo chamado ErrorLog.htm com todos os detalhes sobre o erro.
Se desejar, você pode alterar este ErrorSys.prg conforme as suas necessidades, ou pode usar também o Try e Catch, que na verdade é um comando do xHarbour, então para que funcione com a MiniGui (que usa o Harbour como compilador) tem que chamar o hbcompat.ch. Na MiniGui, o comando correspondente ao Try e Catch é o BEGIN SEQUENCE e RECOVER, que pode ser usado para tratar o erro, por exemplo:
Código: Selecionar todos
bError := ErrorBlock( {|e| Break(e) } )
BEGIN SEQUENCE
repl agenda with "a"
RECOVER USING oErr
MsgInfo("Ocorreu um erro..."+hb_eol()+"Error "+oErr:subsystem()+"/"+strvalue(oErr:subcode()) +hb_eol()+ oErr:description())
END
ErrorBlock( bError )
Com o objeto oErr você pode obter todos os detalhes do erro, então para saber qual o código de erro ocorrido, use a combinação oErr:subsystem() e oErr:subCode().
Abraços,
Tratamento de Erros com Minigui
Enviado: 21 Dez 2014 19:53
por Cavalo Marinho
Olá Toledo boa noite
Venho mais uma vez agradecer a você pela orientação, vou trabalhar nessa rotinas de tratamento de erro. que Deus o ilumine.