CLASS, errores en IDE no son los mismos que en ejecución compilada.

27/04/2012 - 12:43 por flyguille | Informe spam
acabo de descubrir, que si una procedimiento dentro del código de una
clase genera un error. Ej. Err.raise ##, pero el código que usaba la
clase tiene un ON ERROR RESUME NEXT / ON ERROR GOTO label. pasa lo
siguiente

EN TIEMPO DE DESARROLLO: devuelve siempre un cartel de error, es
decir, no trappea el on error goto del código que usa la clase (sea
inicialización de clase, uso de una función de la clase, etc).

YA COMPILADO: no devuelve cartel, y el error es manejado por el código
que usó la clase. (como yo pienso que debe ser).


Ej. de prueba


Private Sub Form_Load()

On Error GoTo Err

Dim d As Class1

Set d = New Class1
Exit Sub

Err:
Beep
End Sub




y en módulo de clase..


Private Sub Class_Initialize()

Err.Raise 20

End Sub




Alguien sabe a qué se debe?

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
28/04/2012 - 04:50 | Informe spam
Hola,

En la pestaña General de Opciones, puedes determinar la manera en quelos
errores son tratados en el IDE.

Las opciones son:

Break in Class Modue: el sistema se detiene si se produce cualquier error
dentro de una clase, aunque tengas un handler activo. Se usa para depurar el
código interno de las clases.

Break on all errors: se produce el error aunque tengas activado el
tratamiento de errores.

Break on unhandled errors: es la conducta "normal", que presentará el
programa en tiempo de ejecución.

Salud!



"flyguille" escribió en el mensaje
news:
acabo de descubrir, que si una procedimiento dentro del código de una
clase genera un error. Ej. Err.raise ##, pero el código que usaba la
clase tiene un ON ERROR RESUME NEXT / ON ERROR GOTO label. pasa lo
siguiente

EN TIEMPO DE DESARROLLO: devuelve siempre un cartel de error, es
decir, no trappea el on error goto del código que usa la clase (sea
inicialización de clase, uso de una función de la clase, etc).

YA COMPILADO: no devuelve cartel, y el error es manejado por el código
que usó la clase. (como yo pienso que debe ser).


Ej. de prueba


Private Sub Form_Load()

On Error GoTo Err

Dim d As Class1

Set d = New Class1
Exit Sub

Err:
Beep
End Sub




y en módulo de clase..


Private Sub Class_Initialize()

Err.Raise 20

End Sub




Alguien sabe a qué se debe?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida