Tratamento de Erros com Minigui

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Tratamento de Erros com Minigui

Mensagem 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? :%
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Tratamento de Erros com Minigui

Mensagem por Toledo »

Amigo, basta incluir no início do seu PRG o comando:

Código: Selecionar todos

#include 'hbcompat.ch'
Ai você poderá usar o Try e Catch sem problema algum.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Tratamento de Erros com Minigui

Mensagem 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.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Tratamento de Erros com Minigui

Mensagem 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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Tratamento de Erros com Minigui

Mensagem 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.
Responder