具有以下一般定义:
错误 - 错误原因(编码错误)
错误 - 可能导致失败的错误状态
失败 - 服务与正确服务的偏差
以下代码的正确应用是什么:
当余额为100或更少时,代码不允许撤销
if (Balance<100)
{
return false;
}
else WithDraw();
据我了解,故障是缺少=运算符。但是错误和失败会是什么?
答案 0 :(得分:8)
如您所说,代码中存在错误(编码或逻辑错误),比较中缺少运算符。如果没有正好100的余额,那么没有人会注意到这个错误。
如果在某个时刻余额为100并且检查完成,则会出现错误。系统将处于不正确的状态。它本不应该允许退出,而是它。如果允许撤销,系统将无法正常工作,用户将看到失败。
在这个小例子中,很难将错误和失败分开,因为用户可能会看到错误状态的后果。如果我们假设在代码中的其他地方有另一个检查,并且因为没有完成撤销,那么系统将处于错误状态(错误实现),但是另一个条件会掩盖这个并且用户不会看到了失败。
答案 1 :(得分:-3)
这个问题需要一些背景。它似乎也是一个“家庭作业”风格的问题。 根据提供的定义,'missing = operator'可能不是'fault'。
正在测试的变量'Balance'可能明确需要小于100。
至于错误,你指的是'状态'。在这方面,您可能必须查看以前的控制流语句(if / for / while)来评估状态。
失败......好吧,也许你正在处理简单的转换错误(int / float),这在处理面向货币的程序时很常见。
当提到代码没有做它应该做的事情时,我们通常会参考: