我正在为一个构建在图层中的相当复杂的系统编写错误处理模块。有时我们的数据层会引发模糊的异常。
注销抛出异常的方法的参数的值会非常方便。
我可以反思异常的TargetSite属性来查找方法的参数类型和名称,但我似乎无法获取值...我错过了什么?
杜佩
In a .net Exception how to get a stacktrace with argument values
答案 0 :(得分:3)
内置框架ArgumentOutOfRangeException(如果传入参数超出范围,则应该在方法中抛出...具有导致错误的方法参数的私有字段和公共属性...当您创建时这个例外,你传递了ctor中的参数值......
throw new ArgumentOutOfRangeException(string parameterName,
object actualValue, string message);
对于其他异常,如果在抛出它的方法中捕获异常,并将其包装在您自己的自定义异常中,那么这些方法参数还有其他字段和属性
答案 1 :(得分:2)
简而言之......不。由于某些原因,请在capturing method state上查看此问题。