gpt4 book ai didi

c# - 防止调试器在已编译的 LambdaExpression 中出现异常时停止

转载 作者:太空狗 更新时间:2023-10-29 19:47:18 29 4
gpt4 key购买 nike

在我的程序中,我创建了动态 lambda 表达式,然后将它们编译为委托(delegate)。然后调用这些委托(delegate)从我的实体中提取信息。一些代表可能会抛出异常,我在调用代表时捕获了异常。我已启用“仅启用我的代码”并将 [DebuggerNonUserCode] 属性应用于创建 LambdaExpression 的位置、编译位置和调用位置。但是因为在 Debug>Exceptions>Common Language Runtime Exceptions 中勾选了 Thrown 复选框,visual studio 总是因为错误而停止,这给开发人员带来了很大的不便。

似乎 [DebuggerNonUserCode] 应该以某种方式应用于已编译的委托(delegate),但是如何呢?或者有什么建议?

谢谢。

最佳答案

据我所知,您不能将属性应用于使用表达式生成的匿名方法,除了动态类型生成可能会有一些可怕的困惑。

但是,一个可能的建议是转到 Debug > Exceptions 中的异常菜单,然后选择您要具体中断的异常。如果您的表达式倾向于抛出特定类型的异常,您可以只禁用对这些异常的中断。

关于c# - 防止调试器在已编译的 LambdaExpression 中出现异常时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184074/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com