DEBUG MOSTRAR A LINHA DO ERRO
Olá, eu estou fazendo um debug próprio, e gostaria de saber qual código eu poderia usar para que quando ocorresse um erro, mostrasse qual a linha que esse erro ocorreu.
Debug próprio?
faça o ON ERROR GOTO TRATARERRO
Erl guarda a linha do erro, baixe MZ TOOLS para numerar as linhas automaticamente
Erl guarda a linha do erro, baixe MZ TOOLS para numerar as linhas automaticamente
Veja se é isso que voce procura
Private Sub Command_Click()
Dim a As Double
10 On Error GoTo Command_Click_Error
20 a = a / 0
30 Exit Sub
Command_Click_Error:
40 MsgBox [Ô]Error [Ô] & Err.Number & [Ô] ([Ô] & Err.Description & [Ô]) in procedure Command_Click of Formulário Form1 in line [Ô] & Erl
End Sub
vou palpitar, rs também como o GANDA_NICK disse se o seu projeto já estiver pronto, uso programa MZTOOLS para numerar as linhas do seu projeto com as linhas numeradas vc pode criar um log de erro, veja esta função que desenvolvi pra mim.
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
I
para usar é simples
com uma pequena mudança vc tambem exibe o erro na tela
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
I
f 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
para usar é simples
Private Sub Command1_Click()
1 On Error GoTo Trataerro
2 Me.Caption = [Ô]testado[Ô]
3 tet1.Text = [Ô]uuqu[Ô]
Exit Sub
Trataerro:
GeraLog [Ô]c:\arquivoerro.log[Ô], Me
End Sub
com uma pequena mudança vc tambem exibe o erro na tela
Eu já tinha tentado usar [Ô]Erl[Ô] antes, mas sempre dava o valor 0, então significa que eu tenho que numerar manualmente linha por linha ou baixar o MZ TOOLS? poxa... achei que o vb6 já fizesse isso
é filho rapadura é doce, mas não é mole não.
Faça seu login para responder