TRATAR ERRO INDEPENDENTE DO CODIGO
Pessoal tem como tratar o erro independente do codigo gerado para que o sistema nao feche?
Boa noite, Souza.
http://www.macoratti.net/erros.htm
http://www.macoratti.net/erros.htm
só utilizar o [Ô]On Error[Ô]
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?!
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?!
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
agora faça um teste gerando um erro
depois você vai onde gerou o log de erro e verá o seguinte
o que facilita a correção dos erros no meu sistema.
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