Não sei se vou exagerar a rotina de erros, também já serve de modelo.
O que minha rotina de erros faz?
Ela salva o erro no arquivo hb_out.log, e abre no bloco de notas.
Sim só isso.
O nome hb_out.log é porque é o mesmo que o Harbour usa pra erros que não passam pela errorsys, então já fica junto.
O que o aplicativo faz?
Ao ser carregado, se existir hb_out.log, e se existir internet funcionando, me envia esse hb_out.log por email.
Mesmo em máquina sem internet o erro fica registrado.
Quando uma máquina com internet é usada, é enviado o email.
Legal, tudo ok, com ou sem internet, o erro chega aqui.
Agora surgiu uma novidade: mapeamento do servidor sumiu.
Se não tem mapeamento, não tem gravação do erro.
Ok, não tem a ver com o aplicativo, é defeito de rede.
Pensei em registrar mesmo assim.
Pensei na pasta temporária, que é no temp de c:, sempre disponível.
Ao carregar o aplicativo, se tem dirtemp\hb_out.log, acumular no curdir\hb_out.log, e todo restante continua como sempre foi.
Será que é exagero? enviar erro até se o "disco" sumiu?
Rotina de erros - será exagero?
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Rotina de erros - será exagero?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Rotina de erros - será exagero?
Eu apenas aviso ao usuário assim:
Código: Selecionar todos
//----------------------------------------------------------------------------//
FUNCTION DOSERRO( QUAL ) // ERROS DE REDE...
PRIVATE FALHA[ 999 ]
IF QUAL = 0 .OR. QUAL > 120
QUAL = 999
ENDIF
FALHA[ 1 ] = "NUMERO DE FUNCAO INVALIDA"
// MUDEI EM: 24/02/2016 Para ficar mais claro a mensagem.
FALHA[ 2 ] = "ARQUIVO NAO ENCONTRADO NA PASTA DO PLENO: VERIFIQUE SUA REDE. "+ ;
"TEM UMA FALHA DE COMUNICACAO DO SEU COMPUTADOR COM O SERVIDOR "+ ;
"DE ARQUIVOS."
FALHA[ 3 ] = "CAMINHO OU ARQUIVO NAO ENCONTRADO"
FALHA[ 4 ] = "MUITOS ARQUIVOS ABERTOS"
FALHA[ 5 ] = "ACESSO NEGADO - LIBERE O ACESSO A PASTA ACIMA - CHAME O TECNICO."
FALHA[ 6 ] = "HANDLE INVALIDO - PROBELMAS NO HD."
FALHA[ 7 ] = "BLOCO DE CONTROLE DE MEMORIA DESTRUIDO"
FALHA[ 8 ] = "MEMORIA INSUFICIENTE - COLOQUE MAIS MEMORIA RAM"
FALHA[ 9 ] = "ENDERECO DE BLOCO DE MEMORIA INVALIDO"
FALHA[ 10 ] = "DISPOSITIVO INVALIDO"
FALHA[ 11 ] = "FORMATACAO INVALIDA"
FALHA[ 12 ] = "CODIGO DE ACESSO INVALIDO"
FALHA[ 13 ] = "DADOS INVALIDOS"
FALHA[ 14 ] = "RESERVADO PARA USO FUTURO 14"
FALHA[ 15 ] = "ACIONADOR DE DISCO(DRIVE) INVALIDO"
FALHA[ 16 ] = "TENTOU REMOVER DO DIRETORIO CORRENTE"
FALHA[ 17 ] = "DISPOSITIVO NAO E O MESMO"
FALHA[ 18 ] = "NAO HA MAIS ARQUIVO"
FALHA[ 19 ] = "DISCO PROTEGIDO CONTRA GRAVACAO - LIBERE O ACESSO DO HD."
FALHA[ 20 ] = "UNIDADE DE DISCO DESCONHECIDA"
FALHA[ 21 ] = "IMPOSSIVEL LEITURA DE DISCO - CHAME O TECNICO."
FALHA[ 22 ] = "COMANDO DESCONHECIDO"
FALHA[ 23 ] = "INFORMACAO ERRADA(CRC)"
FALHA[ 24 ] = "COMPRIMENTO DA ESTRUTURA ESTA RUIM"
FALHA[ 25 ] = "ERRO NA PESQUISA(SEEK)"
FALHA[ 26 ] = "UNIDADE DE ARMAZENAGEM(MIDIA) DESCONHECIDO"
FALHA[ 27 ] = "SETOR NAO ENCONTRADO - PROBLEMAS NO HD."
FALHA[ 28 ] = "ACABOU O PAPEL DA IMPRESSORA"
FALHA[ 29 ] = "GRAVACAO INVALIDA"
FALHA[ 30 ] = "LEITURA INVALIDA"
FALHA[ 31 ] = "FALHA GERAL- CHAME O TECNICO URGENTE."
FALHA[ 32 ] = "VIOLACAO DE COMPARTILHAMENTO"
FALHA[ 33 ] = "TENTATIVA DE ACESSAR UM ARQUIVO BLOQUEADO"
FALHA[ 34 ] = "MUDANCA DE DISCO INVALIDA"
FALHA[ 35 ] = "TENTATIVA DE ABRIR MAIS ARQUIVOS DO QUE O DEFINIDO NO COMANDO FCBS."
FALHA[ 36 ] = "ESTOURO NO BUFFER DE COMPARTILHAMENTO."
FALHA[ 37 ] = "RESERVADO PARA USO FUTURO 37"
FALHA[ 38 ] = "RESERVADO PARA USO FUTURO 38"
FALHA[ 39 ] = "RESERVADO PARA USO FUTURO 39"
FALHA[ 40 ] = "RESERVADO PARA USO FUTURO 40"
FALHA[ 41 ] = "RESERVADO PARA USO FUTURO 41"
FALHA[ 42 ] = "RESERVADO PARA USO FUTURO 42"
FALHA[ 43 ] = "RESERVADO PARA USO FUTURO 43"
FALHA[ 44 ] = "RESERVADO PARA USO FUTURO 44"
FALHA[ 45 ] = "RESERVADO PARA USO FUTURO 45"
FALHA[ 46 ] = "RESERVADO PARA USO FUTURO 46"
FALHA[ 47 ] = "RESERVADO PARA USO FUTURO 47"
FALHA[ 48 ] = "RESERVADO PARA USO FUTURO 48"
FALHA[ 49 ] = "RESERVADO PARA USO FUTURO 49"
FALHA[ 50 ] = "REDE REQUERIDA NAO SUPORTADA"
FALHA[ 51 ] = "COMPUTADOR REMOTO NAO ESTA RESPONDENDO"
FALHA[ 52 ] = "NOME DA REDE DUPLICADO"
FALHA[ 53 ] = "NOME DA REDE NAO ENCONTRADO"
FALHA[ 54 ] = "REDE OCUPADA."
FALHA[ 55 ] = "DISPOSITIVO DE REDE NAO MAIS EXISTENTE"
FALHA[ 56 ] = "LIMITE DE COMANDOS DA BIOS EXCEDIDO"
FALHA[ 57 ] = "ERRO DE HARDWARE NA PLACA DA REDE"
FALHA[ 58 ] = "RESPOSTA INCORRETA DA REDE"
FALHA[ 59 ] = "ERRO INESPERADO NA REDE - CHAME O TECNICO DE REDE."
FALHA[ 60 ] = "PLACA REMOTA INCOMPATIVEL"
FALHA[ 61 ] = "FILA DE IMPRESSAO ESTA CHEIA"
FALHA[ 62 ] = "NAO EXISTE ESPACO SUFICIENTE PARA O ARQUIVO DE IMPRESSAO."
FALHA[ 63 ] = "ARQUIVO DE IMPRESSAO ELIMINADO(ESPACO INSUFICIENTE)"
FALHA[ 64 ] = "NOME DA REDE ELIMINADO"
FALHA[ 65 ] = "ACESSO NAO PERMITIDO - LIBERE O ACESSO A PASTA ACIMA."
FALHA[ 66 ] = "TIPO INCORRETO DE DISPOSITIVO DE REDE"
FALHA[ 67 ] = "NOME DA REDE NAO ENCONTRADO"
FALHA[ 68 ] = "LIMITE EXCEDIDO PARA O NOME DA REDE"
FALHA[ 69 ] = "LIMITE DE SESSAO DA BIOS EXCEDIDO NA REDE"
FALHA[ 70 ] = "PAUSA TEMPORARIA"
FALHA[ 71 ] = "PEDIDO DE REDE NEGADO"
FALHA[ 72 ] = "DISPOSITIVO DA IMPRESSORA OU DISCO PAUSADO."
FALHA[ 73 ] = "RESERVADO PARA USO FUTURO 73"
FALHA[ 74 ] = "RESERVADO PARA USO FUTURO 74"
FALHA[ 75 ] = "RESERVADO PARA USO FUTURO 75"
FALHA[ 76 ] = "RESERVADO PARA USO FUTURO 76"
FALHA[ 77 ] = "MEMORIA INSUFICIENTE PARA OPERAR O EQUIPAMENTO. CHAME O TECNICO."
FALHA[ 78 ] = "RESERVADO PARA USO FUTURO 78"
FALHA[ 79 ] = "RESERVADO PARA USO FUTURO 79"
FALHA[ 80 ] = "ARQUIVO JA EXISTENTE NO DISCO(HD)"
FALHA[ 81 ] = "RESERVADO PARA USO FUTURO 81"
FALHA[ 82 ] = "IMPOSSIVEL CRIAR DIRETORIO"
FALHA[ 83 ] = "OCORREU FALHA EM INT 24H DO DOS"
FALHA[ 84 ] = "EXCESSOS DE REDIRECIONAMENTOS"
FALHA[ 85 ] = "REDIRECIONAMENTO DUPLICADO"
FALHA[ 86 ] = "SENHA INVALIDA"
FALHA[ 87 ] = "PARAMETRO INVALIDO OU INCORRETO."
FALHA[ 88 ] = "ERRO AO ESCREVER PARA A REDE. DEFEITO TCNICO."
FALHA[ 89 ] = "NENHUM ERRO OCORRIDO!"
FALHA[ 90 ] = "erro de sistema."
FALHA[ 91 ] = "Temporizador da tabela do serviço de transbordo."
FALHA[ 92 ] = "Temporizador serviço tabela duplicar."
FALHA[ 93 ] = "Nenhum item para trabalhar."
FALHA[ 95 ] = "chamada de sistema interrompida."
FALHA[ 99 ] = "Dispositivo em uso."
FALHA[100] = "usuário / sistema de limite de abertura do semáforo atingido."
FALHA[101] = "Exclusivo semáforo já possuía."
FALHA[102] = "DosCloseSem encontrada conjunto de semáforos."
FALHA[103] = "Há muitas solicitações de semáforos exclusivos."
FALHA[104] = "Operação inválida em tempo de interrupção."
FALHA[105] = "proprietário do semáforo anterior encerrado sem libertar semáforo."
FALHA[106] = "limite de Semaphore excedido."
FALHA[107] = "Insira o disco rígido B na unidade A."
FALHA[108] = "Unidade bloqueado por outro processo."
FALHA[109] = "Escreva no tubo com nenhum leitor."
FALHA[110] = "Open / Create falhou devido a ordem explícita falhar."
FALHA[111] = "Tampão passado para chamada de sistema muito pequeno para armazenar dados de retorno."
FALHA[112] = "Não há espaço suficiente no disco. Disco Cheio. Chame o Tecnico."
FALHA[113] = "Não é possível alocar uma outra estrutura de pesquisa e manusear."
FALHA[114] = "Alvo punho em DosDupHandle inválido."
FALHA[115] = "Usuário inválido endereço virtual."
FALHA[116] = "Erro na gravação de exibição ou o teclado ler."
FALHA[117] = "Categoria de DevIOCtl não definido."
FALHA[118] = "valor inválido passado para verificar bandeira."
FALHA[119] = "Nível quatro motorista não foi encontrado."
FALHA[120] = "Função inválida chamado."
FALHA[999] = "ERRO NAO CATALOGADO INFORME O NUMERO DO ERRO AO SUPORTE."
/*
Na maioria das vezes estes erros estão relacionados a uma falha de Hardware
(parte fisica do computador)
*/
RETURN( "PROBLEMA: " + FALHA[ QUAL ] )
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Rotina de erros - será exagero?
Eu tento avisar com algo mais, além de vir por email.
Código: Selecionar todos
CASE "DOS ERROR 3" $ Upper( cTexto )
cTxtError += "DOS Error 3" + hb_eol()
cTxtError += "Esta mensagem ocorre quando o sistema faz referência a uma pasta que não existe, ou que não pode ser acessada" + hb_eol()
cTxtError += "Verifique se a pasta realmente existe, e se o acesso não está bloqueado" + hb_eol()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Rotina de erros - será exagero?
Além de vir por email, eu abro o editor do windows e mostro o ERROR.LOG
Quando o cliente liga, já tem a solução pronta...
Base aqui:
https://pctoledo.org/forum/viewto ... sta#p90368
abs
Quando o cliente liga, já tem a solução pronta...
Base aqui:
https://pctoledo.org/forum/viewto ... sta#p90368
abs
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Rotina de erros - será exagero?
Exato.
Problemas eliminados:
- Usuário explicar o erro, tendo uma cópia ele nem precisa explicar
- Se já temos o erro, já corrigimos antes do usuário ligar
- Se o email não chega, pelo menos chama a atenção do usuário que está ocorrendo erro, e em certos casos já mostra como resolver
Nas primeiras vezes que usei isso, no Clipper, descobri o erro causado pelo Blinker 5.0 no Clipper em rede Windows 2000.
Que nem eu, nem os usuários sabíamos que acontecia.
Mas no Clipper o esquema era outro, parecido.
Era um programa separado que usava SAVE SCREEN pra capturar a tela final.
O que comentei agora, de problemas do servidor sumir, é perigoso.
Pode corromper tudo.
Só que não fica salvo. É bom pra cobrar solução.
Ainda não decidi se vou acrescentar esse último, pra poder registrar na pasta temp.
Problemas eliminados:
- Usuário explicar o erro, tendo uma cópia ele nem precisa explicar
- Se já temos o erro, já corrigimos antes do usuário ligar
- Se o email não chega, pelo menos chama a atenção do usuário que está ocorrendo erro, e em certos casos já mostra como resolver
Nas primeiras vezes que usei isso, no Clipper, descobri o erro causado pelo Blinker 5.0 no Clipper em rede Windows 2000.
Que nem eu, nem os usuários sabíamos que acontecia.
Mas no Clipper o esquema era outro, parecido.
Era um programa separado que usava SAVE SCREEN pra capturar a tela final.
O que comentei agora, de problemas do servidor sumir, é perigoso.
Pode corromper tudo.
Só que não fica salvo. É bom pra cobrar solução.
Ainda não decidi se vou acrescentar esse último, pra poder registrar na pasta temp.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/