|
Postada em 28/06/2005 12:28 hs
Olá, amigos Estou procedendo da seguinte forma: em uma rotina, tenho a instrução "On Error Goto erro", e depois do label "erro", executo algumas instruçõe que podem gerar erro novamente. Minha duvida é como faço pra ignorar os erros a partir dai, pois o programa está travando qdo encontra o segundo erro. A rotina esta assim: On Error Goto Erro 'codigo q gera erro Exit Sub Erro: Err.Clear 'aqui eu limpei o erro anterior... On Error Resume Next 'aqui o Codigo gera um outro erro, esse q eu quero ignorar End Sub O problema eh q depois do "On Error Resume Next" não tá ignorando o erro, mas sim dando a mensagem de erro do VB... Como eu faço pra ignorar esse segundo erro??? Agradeço a ajuda...
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________ "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
Jayme
|
SÃO PAULO SP - BRASIL
|
|
Postada em 28/06/2005 14:37 hs
Me parece que isto pode resolver: Private Sub Form_Load() On Error GoTo Erro ' em caso de erro desviar para Erro Dim Emissao As Date Emissao = "aa/aa/aa" ' ocorrerá um erro nesta linha On Error GoTo 0 ' desabilita o On Error GoTo inicial On Error Resume Next ' ignora o erro e segue em frente Emissao = "aa/aa/aa" ' o erro será liberado Exit Sub Erro: MsgBox "Ocorreu o erro nº " & Err.Number & vbCr & vbCr & Err.Description, 64, "Atenção" Resume Next End Sub Jayme
|
|
|
|
Postada em 28/06/2005 14:38 hs
Elieser, boa tarde.. Voce pode tentar assim, mas eu faria um sub e chamaria na situação de erro e nela colocaria o resume next On Error Goto Erro 'codigo q gera erro Exit Sub Erro: Err.number = 0 On Error Resume Next 'aqui o Codigo gera um outro erro, esse q eu quero ignorar End Sub
|
|
|
|
Postada em 28/06/2005 14:44 hs
Gerson, Isso eh exatamente o que eu fiz... o .Clear tem a funcao de zerar o erro anterior... O On Error Resume Next depois do seu Err.Number = 0 nao funciona, assim como o meu... Qto a fazer em outra sub, nao da... eh apenas um comando, q precisa ser executado no mesmo escopo da rotina q gerou erro... Qto a opcao do Jayme, o q eu quero é executar um comando depois q deu o erro, ignorando se der erro novamente, e nao voltar a linha seguinte à q deu o primeiro erro...
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________ "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
Postada em 28/06/2005 14:50 hs
Eliser, boa tarde (ps.: Gelson e não Gerson... hehehehe) E se voce fizer assim (sem desvio automatico, sem goto. teste por comando): On Error Resume next 'Comando If err.number <> 0 Then rotina de execeção Exit Sub Endif End Sub
|
|
|
|
Postada em 30/06/2005 17:13 hs
Desculpe, Gelson... Já pensei em fazer isso, mas existem muitas linhas onde pode dar erro, e o tratamento eh o mesmo pra todas... mas blz.. vou ver como me arranjo por aqui mesmo... Flw! e muito obrigado pelas dicas...
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________ "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|