我对Debug.Fail方法有疑问,这让我很困惑。它来自MeassureUp测试,如下所示:
为了提高代码的可靠性,您需要验证重要值,并在未正确设置值时停止执行。但是,您只想在调试期间停止执行。您不希望具有应用程序发行版本的用户遇到问题。
您应该使用哪种方法?
我回答了Debug.Assert,因为它有一个布尔条件作为参数,这意味着它可以验证一个值。 Debug.Fail只有字符串作为应该输出的任何消息的参数。但这是官方推理:
Debug.Assert“不会中断处理”是什么意思? Debug.Assert和Debug.Fail都提供了类似的弹出窗口,包括Abort,Retry和Ignore按钮。此外,Debug.Assert会计算表达式。
官方回答是错误的,包括他们的推理还是我误解了什么?
答案 0 :(得分:12)
没有区别。当条件为false时,Debug.Assert()调用Fail()。因此,Assert()和调用Fail()的if语句之间没有区别。
我建议你找一个更好的网站。
答案 1 :(得分:1)
我通常在Debug.Fail()
永远不会发生的switch/default:
语句中使用default:
(除了引发异常或其他任何错误处理)