我有一个关于 Debug.Fail 方法的问题,这让我很困惑。它来自 MeassureUp 测试,如下所示:
为了提高代码的可靠性,您需要验证一个重要的值并在该值设置不正确时停止执行。但是,您只想在调试期间停止执行。您不希望使用您的应用程序发布版本的用户遇到问题。
您应该使用哪种方法?
- Debug.Assert(我的回答)
- 调试.刷新
- Debug.Fail(根据 MeassureUp 测试的正确答案)
- 调试.缩进
我回答 Debug.Assert 因为它有一个布尔条件作为参数,这意味着它可以验证一个值。Debug.Fail 仅将字符串作为应输出的任何消息的参数。但这是官方的推理:
- Debug.Fail 导致调试器在代码行中断并输出失败消息。
- Debug.Assert 评估条件并显示消息,但不会中断处理。
- Debug.Flush 刷新调试输出缓冲区。
- Debug.Indent 控制输出格式。
Debug.Assert“不中断处理”是什么意思?Debug.Assert 和 Debug.Fail 都提供了一个类似的带有 Abort、Retry 和 Ignore 按钮的弹出窗口。此外,Debug.Assert 计算一个表达式。
官方答案是错误的,包括他们的推理还是我误解了什么?