USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Tratamento de Erro Complicado...
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
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
_____________________________________________________
Emoções "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
     
Gelson Porto
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
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
 
     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
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
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
Gelson Porto
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
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
 
 
     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
ENUNCIADA !
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
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página