Futura
|
PORTO FERREIRA SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/12/2005 17:38 hs
é o seguinte, em um processo gera um erro, ai intercepto, e dou a opção do usuário continuar ou não, se ele optar por sim, qual comando coloco, para tentar repetir a linha que gerou o erro ?
|
|
|
|
Alê35
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/12/2005 18:48 hs
Olá, Você pode utilizar labels que recebem o foco a partir de um comando GOTO. Não é uma prática saudável pois presume-se que há uma quebra no fluxo normal da rotina que está forçando a mudança de caminho do seu programa, mas é uma solução. Veja um pequeno exemplo: Private Sub Processa() On Error Goto Trata_Erro Inicia_Processamento: msgbox(1/0) 'Acarretará um erro de divisão por zero msgbox("Processamento Concluído") Exit Sub Trata_Erro: If MsgBox("Deseja Reprocessar?",vbQuestion + vbYesNo) = VbYes Then Goto Inicia_Processamento Else Resume Next Endif End Sub Espero ter colaborado.
|
|
|
Erico
|
SALVADOR BA - BRASIL
|
|
Postada em 27/12/2005 15:43 hs
Existe tb só o comando RESUME que retorna para linha onde ocorreu o erro, mas cuidado pra sua rotina não entrar em loop.
A.Erico S.Peixoto -------------------- Analista de Sistemas
|
|
|
|
Postada em 27/12/2005 15:52 hs
é só usar o famoso On Error Resume Next, que a próxima instrução será executada ,veja exemplo: On Error Resume Next msgbox(1/0) 'Acarretará um erro de divisão por zero if err.number <> 0 then
msgbox("erro: " & err.description)
http://www.vilmarbro.com.br
|
|
|