Título: Duda con excepciones en .NET Publicado por: SARGE553413 en 12 Julio 2014, 16:51 pm Hola a todos.
Tengo un bloque 'try' dentro del cual hay 5 llamadas a metodos que lanzan InvalidOperationException. Me gustaría saber, en el bloque 'catch', cuál de los 5 métodos ha lanzado la excepción, para imprimir el nombre del método por pantalla. ¿Cómo puedo saber que método ha lanzado la excepción, si todos lanzan la misma? Gracias y saludos. Título: Re: Duda con excepciones en .NET Publicado por: Eleкtro en 12 Julio 2014, 17:10 pm Puedes obtener el nombre del método que lanzó la excepcion, utilizando la propiedad Exception.TargetSite (http://msdn.microsoft.com/en-us/library/system.exception.targetsite.aspx).
Citar Gets the method that throws the current exception. Nota: Pero antes de pensar en usarlo para todas las circunstancias, deberías leer las "Remarks" del MSDN. Ejemplo de uso: Código
PD: También está disponible el nombre del método en el StackTrace (http://msdn.microsoft.com/en-us/library/system.exception.stacktrace%28v=vs.110%29.aspx), pero deberías parsear el String resultante, solo te lo comento como dato adicional porque sería una tontería hacer eso, ya que TargetSite obtiene el nombre desde el StackTrace, así que además si el StackTrace está vacío tampoco habrá un TargetSite accesible. Saludos. Título: Re: Duda con excepciones en .NET Publicado por: SARGE553413 en 12 Julio 2014, 18:08 pm Ok, gracias.
Título: Re: Duda con excepciones en .NET Publicado por: elezekiel en 17 Julio 2014, 00:24 am exceelente ejemplo me fue de utilidad :D
gracias!! |