gpt4 book ai didi

.net - .NET 生产代码中的“断言”语句

转载 作者:行者123 更新时间:2023-12-04 22:01:53 26 4
gpt4 key购买 nike

Trace.AssertDebug.Assert 语句留在“稳定”且已移入测试和生产环境的代码中是否明智?

如果是这样,这些断言语句有何帮助?让 Guard 类等检查异常条件并适本地引发异常是不够的?

最佳答案

Debug.Assert 语句将被忽略,除非您定义了 DEBUG 编译常量,默认情况下,当您在“调试”配置而不是“发布”配置中编译时会发生这种情况。实际上,Debug 类仅用于测试环境,您应该在测试环境中捕获所有(或至少大部分)会导致 Debug.Assert 失败的错误。

Trace.Assert 的工作方式相同,除了必须存在的编译常量是 TRACE,默认情况下,它同时存在于“调试”和“发布”配置中。在发布代码中使用跟踪断言可能是有意义的,但通常最好让它们做一些不同于方法默认行为的事情(它只显示一个带有堆栈跟踪的消息框)。您可以通过为 Trace 类配置自定义跟踪监听器来实现此目的;有关更多详细信息,请参阅方法文档。

关于.net - .NET 生产代码中的“断言”语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1818999/

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