Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

on error go to

Estas en el tema de on error go to en el foro de Visual Basic clásico en Foros del Web. hola a todos! he leido q si tengo un error en tiempo de ejecucion lo puedo evitar poniendo un on error goto (especificar una linea ...
  #1 (permalink)  
Antiguo 27/11/2008, 08:48
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
on error go to

hola a todos!
he leido q si tengo un error en tiempo de ejecucion lo puedo evitar poniendo un on error goto (especificar una linea del mismo procedimiento).
yo tengo lo siguiente:

inicio:
vChildComp = swComp.GetChildren
For i = 0 To UBound(vChildComp) ' en esta linea es donde me da el error 13
On Error GoTo inicio
Set swChildComp = vChildComp(i)

pero poniendo el on error goto en esa linea me lo salta y sigue dandome el error. sabe alguien donde lo debo poner?
gracias x adelantado!

p.d. yo no soy muy partidaria de usar el goto, pero no me queda mas remedio, a no ser q alguien conozca algun comando parecido para trasladarse de linea.

Última edición por ebu; 27/11/2008 a las 09:27
  #2 (permalink)  
Antiguo 27/11/2008, 09:19
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: on error go to

Cita:
Iniciado por ebu Ver Mensaje
hola a todos!
he leido q si tengo un error en tiempo de ejecucion lo puedo evitar poniendo un on error goto (especificar una linea del mismo procedimiento).
yo tengo lo siguiente:

inicio:
For i = 0 To UBound(vChildComp) ' en esta linea es donde me da el error 13
On Error GoTo inicio
Set swChildComp = vChildComp(i)

pero poniendo el on error goto en esa linea me lo salta y sigue dandome el error. sabe alguien donde lo debo poner?
gracias x adelantado!

p.d. yo no soy muy partidaria de usar el goto, pero no me queda mas remedio, a no ser q alguien conozca algun comando parecido para trasladarse de linea.
Hola, antes de la etiqueta inicio:

  #3 (permalink)  
Antiguo 27/11/2008, 09:39
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: on error go to

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, antes de la etiqueta inicio:

hola, he probado a ponerlo donde tu me dijistes y en la primera vez hace caso al goto y se va a inicio, pero la segunda vez va al bucle for y me da el error.
sabes si el on error goto solo funciona una unica vez?

gracias x tu ayuda!
  #4 (permalink)  
Antiguo 27/11/2008, 10:45
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: on error go to

Cita:
Iniciado por ebu Ver Mensaje
hola, he probado a ponerlo donde tu me dijistes y en la primera vez hace caso al goto y se va a inicio, pero la segunda vez va al bucle for y me da el error.
sabes si el on error goto solo funciona una unica vez?

gracias x tu ayuda!
Hola, prueba así

sub()
On Error GoTo inicio
For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
Next i
Exit Sub

inicio:
' si quieres que continúe el bucle:
Resume Next
' si quieres detener el proceso:
MsgBox Err.Number & " - " & Err.Description
Exit Sub
End Sub


  #5 (permalink)  
Antiguo 28/11/2008, 04:36
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: on error go to

gracias avellaneda, muy amable!
queria hacer algo asi pero no conocia el resume next. ahora ya si!
mil gracias!
  #6 (permalink)  
Antiguo 28/11/2008, 09:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: on error go to

También si lo que quieres es continuar a partir de la siguiente línea inmediata a la que se produjo el error puedes usar On Error Resume Next
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:37.