TRATAR ERRO INDEPENDENTE DO CODIGO

SOUZA 13/07/2014 20:27:47
#439507
Pessoal tem como tratar o erro independente do codigo gerado para que o sistema nao feche?
JOSEGALLO 13/07/2014 22:32:35
#439510
Boa noite, Souza.
http://www.macoratti.net/erros.htm
MESTRE 14/07/2014 08:40:09
#439513
só utilizar o [Ô]On Error[Ô]
ALVAROVB2009 14/07/2014 09:49:17
#439518
Souza na parte onde seu código é digitado coloquei assim

On Error Goto TrataErro

Seu código
exit sub

TrataErro:
msgbox [Ô]Ocorreu uma operação inválida, favor comunicar o setor de desenvolvimento[Ô] & chr(13) & Err.number & [Ô] - [Ô] & Err.description

Nesse caso o exit sub não vai permitir que o programa execute a mensagem de erro sem necessidade, caso tenha erro, irá aparecer a mensagem de alerta e na linha de baixo o número e a descrição do erro, assim vc poderá tratar o erro que aparecer.
Esse controle tem que ser colocado em todas as partes onde vc coloca o código, porque ele trata apenas onde o código esta sendo executado, por exemplo
No text vc tem um comando no keypress e no lostfocus, se vc colocar o tratamento de erro no keypress e o erro acontecer no lostfocus, o programa vai continuar fechando, então tem que colocar o tratamento de erro também no lostfocus

qqer coisa posta ai blz?!
MARCELO.TREZE 15/07/2014 11:40:20
#439549
Explica melhor souza como assim independente do código, vc quer dizer do código de erro?

Bom eu faço assim, eu numero minhas linhas de código, e coloco o tratamento de erro, que me gera um arquivo texto dizendo o codigo do erro, o tipo e em que linha ococrreu.

veja só

em um módulo coloque

Public Function GeraLog(Arquivo As String, Formulario As Form)
Dim Erro As Integer
Dim LogErr As String
MsgBox [Ô]Um erro foi gerado pelo programa, entre em contato com o administrador do sistema[Ô]

LogErr = Date & [Ô] - [Ô] & Time & [Ô]- erro em: [Ô] & Formulario.Name & [Ô] - nº [Ô] & Str$(Err.Number) & _
[Ô] na Linha [Ô] & Str$(Erl) & [Ô] - [Ô] & _
Err.Description & [Ô] - gerado por [Ô] & Err.Source

If Dir(Arquivo) = [Ô][Ô] Then [ô] se o arquvivo não existir ele grava o arquivo
Erro = FreeFile
Open Arquivo For Output As #Erro
Print #Erro, LogErr
Else [ô]Caso o arquivo já exista, ele apenas inclui uma nova linha
Erro = FreeFile
[ô]abre o arquivo jah existente
Open Arquivo For Append Shared As #Erro
Print #Erro, LogErr
End If
Close #Erro
End Function



agora faça um teste gerando um erro

On Error GoTo Trataerro

[txt-color=#007100][ô] eu numero as linhas para identificar o erro, ex:
[ô] 100 for f=1 to 10
[ô] 200 print f
[ô] 300 netx f [ô] aqui iria gerar um erro[/txt-color]

Exit Sub
Trataerro:
GeraLog [Ô]c:\arquivoerro.log[Ô], Me


depois você vai onde gerou o log de erro e verá o seguinte

Citação:

15/07/2014 - 11:31:37- erro em: Form1 - nº 424 na Linha 300 - Object required - gerado por Project1




o que facilita a correção dos erros no meu sistema.

Faça seu login para responder