AVISO DE ERRO EM EXECUCAO
Oi Pessoal
Como posso fazer para que meu sistema me mande uma mensagem de avso de erro e qual erro? Ex: O usuário, em sua loja, está usando o sistema e dau [Ô]pau[Ô], um erro e aparece uma mensagem para o usuário enviar a mensagem de erro para eu ajustar. Como posso fazer isso? Se puder, um aviso que não interrompa a execução para que o usuário continue trabalhando.
Agradeço desde já.
Abraço,
Gustavo
Como posso fazer para que meu sistema me mande uma mensagem de avso de erro e qual erro? Ex: O usuário, em sua loja, está usando o sistema e dau [Ô]pau[Ô], um erro e aparece uma mensagem para o usuário enviar a mensagem de erro para eu ajustar. Como posso fazer isso? Se puder, um aviso que não interrompa a execução para que o usuário continue trabalhando.
Agradeço desde já.
Abraço,
Gustavo
On Error GoTo TratarError
Seu codigo aqui
Seu codigo aqui
Seu codigo aqui
Seu codigo aquiv
TratarError:
If Err.Number > 0 Then
MsgBox Err.Description & vbCrLf & Err.Number
End If
Seu codigo aqui
Seu codigo aqui
Seu codigo aqui
Seu codigo aquiv
TratarError:
If Err.Number > 0 Then
MsgBox Err.Description & vbCrLf & Err.Number
End If
GUSTAVOSEVERO,
Vc pode utilizar o tratamento de erro que tem no VB. Segue um exemplo de como proceder.
Ex.
Private sub SUB_TESTE
On Error GoTo trata_erro
[ô]=============== SEU CODIGO AQUI =============================
trata_erro:
MsgBox Err.Number & [Ô] - [Ô] & Err.Description
End Sub
Thiago
Vc pode utilizar o tratamento de erro que tem no VB. Segue um exemplo de como proceder.
Ex.
Private sub SUB_TESTE
On Error GoTo trata_erro
[ô]=============== SEU CODIGO AQUI =============================
trata_erro:
MsgBox Err.Number & [Ô] - [Ô] & Err.Description
End Sub
Thiago
ALEXLUGON
O que faz o código abaixo?
OBS: Essa pergunta serve, também, para o THIAGO CC
TratarError:
If Err.Number > 0 Then
MsgBox Err.Description & vbCrLf & Err.Number
End If
O que faz o código abaixo?
OBS: Essa pergunta serve, também, para o THIAGO CC
TratarError:
If Err.Number > 0 Then
MsgBox Err.Description & vbCrLf & Err.Number
End If
Se algum errou ocorreu (Err.Number >0), o programa mostra uma mensagem (Msgbox) com a descrição do erro (Err.Description) e seu número (Err.Number).
quando for detectado um erro dentro do corpo
On Error GoTo TratarError
ele será redirecionado para
TratarError:
If Err.Number > 0 Then
MsgBox Err.Description & vbCrLf & Err.Number
End If
Caso tenha algum erro ou seja o a mensagem de erro seja maio que 0 então vai exibir a Descrição do erro mais o Numero do erro.
Caso ainda tenha duvida poste ai.
On Error GoTo TratarError
ele será redirecionado para
TratarError:
If Err.Number > 0 Then
MsgBox Err.Description & vbCrLf & Err.Number
End If
Caso tenha algum erro ou seja o a mensagem de erro seja maio que 0 então vai exibir a Descrição do erro mais o Numero do erro.
Caso ainda tenha duvida poste ai.
GUSTAVOSEVERO,
O codigo Err.Number retorna o numero do erro que esta acusando e o Err.Description é a descrição do erro.
Com estas informações vc pode fazer o monitoramento do seu software, gravar em um banco de dados, ou ate mesmo te enviar um email quando houver erros em uma determinada tela e qual é o tipo de erro que esta sendo gerado.
Thiago.
O codigo Err.Number retorna o numero do erro que esta acusando e o Err.Description é a descrição do erro.
Com estas informações vc pode fazer o monitoramento do seu software, gravar em um banco de dados, ou ate mesmo te enviar um email quando houver erros em uma determinada tela e qual é o tipo de erro que esta sendo gerado.
Thiago.
Gustavo veja como procedo
em um módulo cole
e em um form cole para teste
a função GeraLog ira gerar um arquivo texto onde haverão as seguintes informações
Data e hora do erro
Formulario em que ocorreu o erro
Numero do erro
Linha em que ocorreu o erro
Descrição do erro
veja o exemplo
28/09/2009 - 15:21:58- erro em: Form1 - nº 424 na Linha 20 - Object required - gerado por Project1
esta mensagem também será mostrada ao usuário na tela
repare que causei um erro proposital no código acima, dentro do load
a linha 20 esta assim
20 tet1.Text = [Ô]uuqu[Ô]
quando o certo seria ssim
20 text1.Text = [Ô]uuqu[Ô]
lembre, para indicar em qual linha ocorreu o erro, você deve numerar as linhas de códigos
em um módulo cole
Public Function GeraLog(Arquivo As String, Formulario As Form)
Dim Erro As Integer
Dim LogErr As String
LogErr = Date & [Ô] - [Ô] & Time & [Ô]- erro em: [Ô] & Formulario.Name & [Ô] - nº [Ô] & Str$(Err.Number) & _
[Ô] na Linha [Ô] & Str$(Erl) & [Ô] - [Ô] & _
Err.Description & [Ô] - gerado por [Ô] & Err.Source
MsgBox LogErr
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
e em um form cole para teste
Private Sub Form_Load()
On Error GoTo Trataerro
10 Me.Caption = [Ô]testado[Ô]
20 tet1.Text = [Ô]uuqu[Ô]
Exit Sub
Trataerro:
GeraLog [Ô]c:\arquivoerro.log[Ô], Me
End Sub
a função GeraLog ira gerar um arquivo texto onde haverão as seguintes informações
Data e hora do erro
Formulario em que ocorreu o erro
Numero do erro
Linha em que ocorreu o erro
Descrição do erro
veja o exemplo
28/09/2009 - 15:21:58- erro em: Form1 - nº 424 na Linha 20 - Object required - gerado por Project1
esta mensagem também será mostrada ao usuário na tela
repare que causei um erro proposital no código acima, dentro do load
a linha 20 esta assim
20 tet1.Text = [Ô]uuqu[Ô]
quando o certo seria ssim
20 text1.Text = [Ô]uuqu[Ô]
lembre, para indicar em qual linha ocorreu o erro, você deve numerar as linhas de códigos
Valeu pessoal pelas ajudas.
E como posso fazer com que essas mensagens de erro sejam mandadas para mim, para que eu corrija?
Valeu.
E como posso fazer com que essas mensagens de erro sejam mandadas para mim, para que eu corrija?
Valeu.
Bom eu mando por email e uso este componente.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6610
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6610
Você pode usar o VBSENDMAIL que não usa nenhum componente extra.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=7275&TxtSearch=sendmail&CmbSort=&varPagina=1
Outra coisa use If Err.Number [txt-color=#df0101]<>[/txt-color] 0 then, pois existem erros negativos assim o programa poderá contemplá-lo.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=7275&TxtSearch=sendmail&CmbSort=&varPagina=1
Outra coisa use If Err.Number [txt-color=#df0101]<>[/txt-color] 0 then, pois existem erros negativos assim o programa poderá contemplá-lo.
Tópico encerrado , respostas não são mais permitidas