在C#异常处理程序中,我可以找到传递给引发异常的方法的参数吗?

时间:2008-11-21 16:14:50

标签: c# exception

我正在为一个构建在图层中的相当复杂的系统编写错误处理模块。有时我们的数据层会引发模糊的异常。

注销抛出异常的方法的参数的会非常方便。

我可以反思异常的TargetSite属性来查找方法的参数类型和名称,但我似乎无法获取值...我错过了什么?


杜佩

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

2 个答案:

答案 0 :(得分:3)

内置框架ArgumentOutOfRangeException(如果传入参数超出范围,则应该在方法中抛出...具有导致错误的方法参数的私有字段和公共属性...当您创建时这个例外,你传递了ctor中的参数值......

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

对于其他异常,如果在抛出它的方法中捕获异常,并将其包装在您自己的自定义异常中,那么这些方法参数还有其他字段和属性

答案 1 :(得分:2)

简而言之......不。由于某些原因,请在capturing method state上查看此问题。