条件分岐のかきかたについて

  int ExecHoge( int Suuryou ); // Suuryou:数量

とかあったとして、

 ・Suuryouは0以上の値が入力される
  ・この処理では数量が0の時エラーとする

って仕様書にあると

  int ExecHoge( int Suuryou )
  {
    if( Suuryou==0 )
    {
      return -1; // error
    }
      :

ってコード書くひとがかなり多くいるのが結構怖いです。プログラムに不定になりそうな処理書くのはキモチ悪いのは私だけなんかなぁ。

  int ExecHoge( int Suuryou )
  {
    if( Suuryou <= 0 )
    {
      return -1; // error
    }
      :

これでいいじゃん。仕様外とは云え、数量に負値がきたらきっとエラーだ。だから、負値もエラーにする。これだけ。まあ、負値がくるのは仕様外なので、テスト作業中に正常動作してるように見えるのはマズい、問題は顕在化しないと駄目と云うなら、

  int ExecHoge( int Suuryou )
  {
    if( Suuryou <= 0 )
    {
      return -1; // error
    }
    assert(Suuryou >= 0);
      :

こうか。

こういうのなんて云うんだっけ、フェイルセーフ?