有没有人有关于在C#对象初始化块中调试异常的技巧?对象初始化语法基本上是全有或全无的,这使得在LINQ查询内部进行故障排除尤其困难。除了将对象创建拆分到单独的方法之外,我还能做些什么来查看哪个属性设置器抛出了异常吗?
有没有人有关于在C#对象初始化块中调试异常的技巧?对象初始化语法基本上是全有或全无的,这使得在LINQ查询内部进行故障排除尤其困难。除了将对象创建拆分到单独的方法之外,我还能做些什么来查看哪个属性设置器抛出了异常吗?
禁用“跳过属性设置器”选项[跳过属性和运算符(仅托管代码)],可以让你进入属性设置器的调试过程。
否则,通常最好的选择是在LINQ语句之外进行拆分并进行调试。您可以将初始化参数包装到Linq中的匿名类型中,并在Linq语句之外构造对象以进行调试目的。
您是否已经设置了VS以在抛出异常时中断?(默认情况下仅在未处理的异常时中断)。调试|异常,并勾选“抛出”。
这可能并不是您问题的答案,但它可能有助于调试。
除此之外,您可以暂时将代码从初始化块中分离出来(仅供调试),然后如果需要,可以在代码正常工作后恢复初始化块。