Reflection ?

21/01/2005 - 20:35 por Fabian | Informe spam
Buenas... una pregunta.. estoy programando el Application.ThreadException
para capturar cualquier excepcion en toda la aplicación. Necesito vovler a
ejecutar el metodo que genero la excepción..
Alguna idea de como hacerlo..

Como dato les puedo decir que tengo todo el objeto
Sysyem.Threading.ThreadExceptionEventArgs, y con el por ejemplo tengo el
MethodHandle del tipo System.RuntimeMEthodHandle.. no se si con Reflection
puedo llegar a hacer algo ..

Fabián

Preguntas similare

Leer las respuestas

#1 SqlRanger
23/01/2005 - 12:56 | Informe spam
Lo veo francamente difícil. Aunque con e.Exception.TargetSite obtienes un
MethodBase y a partir de ahí podría llamarse al método con Invoke, no lo
puedes hacer porque te falta el objeto sobre el que se estaba ejecutando el
método y los valores de los parámetros que se habían pasado al método.
Además Microsoft no parece estar, de momento, dispuesto a proporcionar una
solución:

http://lab.msdn.microsoft.com/produ...feedbackid¹b12f13-163b-42fa-bd8e-0e759488c1d3

Saludos:

Jesús López
MVP



"Fabian" escribió en el mensaje
news:O0TpY9#$
Buenas... una pregunta.. estoy programando el Application.ThreadException
para capturar cualquier excepcion en toda la aplicación. Necesito vovler a
ejecutar el metodo que genero la excepción..
Alguna idea de como hacerlo..

Como dato les puedo decir que tengo todo el objeto
Sysyem.Threading.ThreadExceptionEventArgs, y con el por ejemplo tengo el
MethodHandle del tipo System.RuntimeMEthodHandle.. no se si con Reflection
puedo llegar a hacer algo ..

Fabián


Respuesta Responder a este mensaje
#2 Fabian
25/01/2005 - 15:51 | Informe spam
con el throw entiendo que genero la excepción.. yo necesito que cuando se de
una excepción.. poder hacer que reintente ejecutar de nuevo la linea de
codigo q genero la excepción.

Gracias



"Mario Lacunza" escribió en el mensaje
news:
Throw ???

Saludos / Best regards

Mario Lacunza
Email:
Website: http://mlacunza.freeprohost.com
Lima - Peru

Fabian escribió:
> Buenas... una pregunta.. estoy programando el


Application.ThreadException
> para capturar cualquier excepcion en toda la aplicación. Necesito vovler


a
> ejecutar el metodo que genero la excepción..
> Alguna idea de como hacerlo..
>
> Como dato les puedo decir que tengo todo el objeto
> Sysyem.Threading.ThreadExceptionEventArgs, y con el por ejemplo tengo el
> MethodHandle del tipo System.RuntimeMEthodHandle.. no se si con


Reflection
> puedo llegar a hacer algo ..
>
> Fabián
>
>

Respuesta Responder a este mensaje
#3 Fabian
25/01/2005 - 15:53 | Informe spam
Si Jesús, aparentemente es imposible.. si bien puedo obtener el objeto y los
parametros (por ahi hay una propiedad que los tiene), algunos metodos son
privados.. por lo que no puedo llamarlos desde el sub que controla el
error.. seria bueno contar con un RetryException, o ResumeException , jeje

un saludo
Fabián


"SqlRanger" escribió en el mensaje
news:
Lo veo francamente difícil. Aunque con e.Exception.TargetSite obtienes un
MethodBase y a partir de ahí podría llamarse al método con Invoke, no lo
puedes hacer porque te falta el objeto sobre el que se estaba ejecutando


el
método y los valores de los parámetros que se habían pasado al método.
Además Microsoft no parece estar, de momento, dispuesto a proporcionar una
solución:




http://lab.msdn.microsoft.com/produ...feedbackid¹b12f13-163b-42fa-bd8e-0e759488c1d3

Saludos:

Jesús López
MVP



"Fabian" escribió en el mensaje
news:O0TpY9#$
> Buenas... una pregunta.. estoy programando el


Application.ThreadException
> para capturar cualquier excepcion en toda la aplicación. Necesito vovler


a
> ejecutar el metodo que genero la excepción..
> Alguna idea de como hacerlo..
>
> Como dato les puedo decir que tengo todo el objeto
> Sysyem.Threading.ThreadExceptionEventArgs, y con el por ejemplo tengo el
> MethodHandle del tipo System.RuntimeMEthodHandle.. no se si con


Reflection
> puedo llegar a hacer algo ..
>
> Fabián
>
>


Respuesta Responder a este mensaje
#4 SqlRanger
29/01/2005 - 02:20 | Informe spam
Pues si puedes obtener el objeto y los parámetros podrías volver a invocar
el método aunque éste fuera privado, Reflection lo permite.

¿Como obtienes el objeto y los parámetros, cual es esa misteriosa propiedad
que los proporciona? yo no he encontrado la forma de hacerlo.

De todas formas, aunque fueras capaz de volver a invocar el método, el flujo
del programa ya se ha roto y no veo ninguna manera de recuperarlo en su
estado original.

Saludos:

Jesús López
MVP


"Fabian" escribió en el mensaje
news:#
Si Jesús, aparentemente es imposible.. si bien puedo obtener el objeto y


los
parametros (por ahi hay una propiedad que los tiene), algunos metodos son
privados.. por lo que no puedo llamarlos desde el sub que controla el
error.. seria bueno contar con un RetryException, o ResumeException ,


jeje

un saludo
Fabián


"SqlRanger" escribió en el mensaje
news:
> Lo veo francamente difícil. Aunque con e.Exception.TargetSite obtienes


un
> MethodBase y a partir de ahí podría llamarse al método con Invoke, no lo
> puedes hacer porque te falta el objeto sobre el que se estaba ejecutando
el
> método y los valores de los parámetros que se habían pasado al método.
> Además Microsoft no parece estar, de momento, dispuesto a proporcionar


una
> solución:
>
>



http://lab.msdn.microsoft.com/produ...feedbackid¹b12f13-163b-42fa-bd8e-0e759488c1d3
>
> Saludos:
>
> Jesús López
> MVP
>
>
>
> "Fabian" escribió en el mensaje
> news:O0TpY9#$
> > Buenas... una pregunta.. estoy programando el
Application.ThreadException
> > para capturar cualquier excepcion en toda la aplicación. Necesito


vovler
a
> > ejecutar el metodo que genero la excepción..
> > Alguna idea de como hacerlo..
> >
> > Como dato les puedo decir que tengo todo el objeto
> > Sysyem.Threading.ThreadExceptionEventArgs, y con el por ejemplo tengo


el
> > MethodHandle del tipo System.RuntimeMEthodHandle.. no se si con
Reflection
> > puedo llegar a hacer algo ..
> >
> > Fabián
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida