7

次の一般的な定義があります:
障害-エラーの原因(コーディングの間違い)
エラー-障害の
失敗につながる可能性のある誤った状態-正しいサービスからのサービスの逸脱

次のコードで正しいアプリケーションは何でしょうか。

残高が100以下の場合、コードは撤回を許可しないようにする必要があります

  if (Balance<100) 
    {
    return false; 
    }
    else WithDraw();

ですから、私が理解しているように、障害は欠落している=演算子です。しかし、エラーと失敗はどうなるでしょうか?

4

2 に答える 2

9

あなたが言ったように、コードに障害(コーディングまたは論理の誤り)があり、比較で演算子が欠落しています。正確に100のバランスが取れていなければ、誰もこの間違いに気付かない可能性があります。

ある時点で100のバランスがあり、チェックが実行されると、エラーが明らかになります。システムは正しくない状態になります。撤退を許可するべきではありませんでしたが、代わりに許可しました。撤回が許可されている場合、システムは正常に機能せず、ユーザーには障害が表示されます。

この小さな例では、ユーザーがエラー状態の結果を確認する可能性があるため、エラーと失敗を区別することは困難です。コードのどこかに別のチェックがあり、そのために撤回が行われていないと仮定すると、システムは間違った状態になります(エラーが発生します)が、別の条件がこれをマスクし、ユーザーはそうではありませんでした失敗を見た。

于 2012-08-06T13:02:29.520 に答える
-3

この質問にはいくつかのコンテキストが必要です。また、「宿題」スタイルの質問のようです。提供された定義から、「missing=operator」は「fault」ではない可能性があります。

テストされる変数「バランス」は、明示的に100未満である必要がある場合があります。

エラーに関しては、「状態」を参照しています。この点で、状態を評価するために、以前の制御フローステートメント(if / for / while)を確認する必要がある場合があります。

失敗...まあ、おそらくあなたは通貨指向のプログラムを扱うときに一般的な単純な変換エラー(int / float)を扱っています。

本来の機能を実行していないコードを参照する場合、通常は次のことを参照します。

  • コンパイル/実行時エラー
  • 論理エラー
于 2012-08-06T13:00:01.610 に答える