我正在为一个相当复杂的分层系统编写错误处理模块。有时,我们的数据层会抛出晦涩的异常。记录抛出异常方法的参数值将非常方便。我可以反射异常的TargetSite属性来查找方法的参数类型和名称,但似乎无法获取值……是否有遗漏? 重复问题 在 .net 异常中如何获得带有参数值的堆栈跟踪
内置的 ArgumentOutOfRangeException 框架(如果传入参数超出范围,应在方法中抛出)具有引起错误的方法参数的私有字段和公共属性...创建此异常时,需要在 ctor 中传递参数值... throw new ArgumentOutOfRangeException(string parameterName, object actualValue, string message); 对于其他异常,如果您在抛出异常的方法中捕获该异常,并将其封装在您自己的自定义异常中,则可以为那些方法参数添加额外的字段和属性。