Identificar proceso origen de un error
Publicado por Javier Perales (22 intervenciones) el 06/06/2005 13:19:21
Quiciera saber si hay alguna forma de saber cuál es el procedimiento que genera un error, sin tener que editar una variable por cada procedimiento.
Lo que estoy buscando es crear una rutina de control de errores que pueda insertar en cada uno de los procedimientos de mi aplicación sin tener que editar nada.
Por ej.:
La forma que tengo hasta ahora es la siguiente:
Private Sub Command1_Click()
on error goto ErrorEnElProcedimiento
...Aquí el codigo del procedimiento que no viene al caso
exit sub
ErrorEnElProcedimiento:
'Seguidamente llamo a un procedimiento Global que manejará
'los errores de cualquier procedimiento de la aplicación, y le paso el nombre
'del evento donde se produjo el error:
ManejoDeErroresMio("Command1_Click")
End Sub
Public ManejoDeErroresMio(ProcedimientoDeOrigen as string)
Msgbox "Se produjo un error en el procedimiento " & ProcedimientoDeOrigen
'Y seguidamente mi intencion es guardar tambien la info en un
'archivo log, cuyo codigo iria aqui mismo.
en sub
Ahora bien... como verán este método requiere que tenga que editar cada una de las variables que se pasan al procedimiento de manejo de errores (en el ej. sería "command1_clic")
Si existiese una variable o un modo de saber cual es el procedimiento en ejecución en un momento dado, podría evitarme esta edición reemplazando el nombre del evento por esta variable o función de existir claro esta.
Porque hasta donde sé el objeto err no me arroja esta información, si bien sí da información respetable como err.descripción, pero este codigo que presento acá, haría extremadamente sencillo resolver en donde se produce un error para hacer soporte de nuestra aplicación.
Ya que uno sabría lo más importante, en que evento o procedimiento se produjo el error, sin tener que interrogar al ususario para que nos diga que se encontraba haciendo o cuando exactamente se produce el error, que ni te saben decir.
¿Alguien me podría ayudar?. Gracias
Javier
Lo que estoy buscando es crear una rutina de control de errores que pueda insertar en cada uno de los procedimientos de mi aplicación sin tener que editar nada.
Por ej.:
La forma que tengo hasta ahora es la siguiente:
Private Sub Command1_Click()
on error goto ErrorEnElProcedimiento
...Aquí el codigo del procedimiento que no viene al caso
exit sub
ErrorEnElProcedimiento:
'Seguidamente llamo a un procedimiento Global que manejará
'los errores de cualquier procedimiento de la aplicación, y le paso el nombre
'del evento donde se produjo el error:
ManejoDeErroresMio("Command1_Click")
End Sub
Public ManejoDeErroresMio(ProcedimientoDeOrigen as string)
Msgbox "Se produjo un error en el procedimiento " & ProcedimientoDeOrigen
'Y seguidamente mi intencion es guardar tambien la info en un
'archivo log, cuyo codigo iria aqui mismo.
en sub
Ahora bien... como verán este método requiere que tenga que editar cada una de las variables que se pasan al procedimiento de manejo de errores (en el ej. sería "command1_clic")
Si existiese una variable o un modo de saber cual es el procedimiento en ejecución en un momento dado, podría evitarme esta edición reemplazando el nombre del evento por esta variable o función de existir claro esta.
Porque hasta donde sé el objeto err no me arroja esta información, si bien sí da información respetable como err.descripción, pero este codigo que presento acá, haría extremadamente sencillo resolver en donde se produce un error para hacer soporte de nuestra aplicación.
Ya que uno sabría lo más importante, en que evento o procedimiento se produjo el error, sin tener que interrogar al ususario para que nos diga que se encontraba haciendo o cuando exactamente se produce el error, que ni te saben decir.
¿Alguien me podría ayudar?. Gracias
Javier
Valora esta pregunta
0