2008-11-21 12 views
5

Estoy escribiendo un módulo de manejo de errores para un sistema bastante complejo diseñado en capas. A veces nuestra capa de datos arroja excepciones oscuras.En un controlador de excepción C#, ¿puedo encontrar los parámetros que se pasaron al método que generó la excepción?

Sería realmente útil desconectar los valores de los parámetros del método que arrojó la excepción.

Puedo reflejar en la propiedad TargetSite de la excepción para encontrar los nombres y tipos de parámetros del método, pero parece que no puedo obtener los valores ... ¿me falta algo?


Dupe

In a .net Exception how to get a stacktrace with argument values

Respuesta

3

El marco integrado ArgumentOutOfRangeException (que debe arrojar en un método si los parámetros entrantes están ... fuera de rango ... tiene campo privado y propiedad pública para el parámetro del método que causó el error ... Cuando crear esta excepción, se pasa el valor del parámetro en el ctor ...

throw new ArgumentOutOfRangeException(string parameterName, 
      object actualValue, string message); 

Para otras excepciones, si se captura la excepción en el método en el que se lanza, y se envuelve en una excepción personalizada de su propia, que tiene campos y propiedades adicionales para esos parámetros de método

Cuestiones relacionadas