-1

ユーザーからの入力として数値を受け取り、その数値が負か正かを判断する JavaScript が与えられた場合、どのような状況で例外をスローしますか?

4

3 に答える 3

2

例外的な状況では、例外をスローする必要があります。数値 (正または負) の入力を受け入れる場合、文字列やオブジェクトなど、基準に適合しないものは例外と見なす必要があります。

例:

// Assume the variable 'input' contains the value given by user...
if(typeof input != "number") {
    throw "Input is not number!"
}
else {
    // ... handle input normally here
}
于 2012-09-13T04:57:29.407 に答える
0

答えはコードによって異なります。

明らかな機能は次のとおりです。

function isPosOrNeg(x) {
  return x < 0? 'negative' : 'positive';
}

例外がスローされていることを確認するのは非常に困難です。解決できない参照の場合xは 1 つある可能性がありますが、そうではありません (これは正式なパラメーターであるため、実質的に宣言された変数です)。

<演算子は、指定された値によっては返される可能性がありますが、エラーをスローしない抽象的なリレーショナル比較アルゴリズムを使用します。undefined

undefined呼び出し元が対処できる完全に合理的な応答であるため、エラーをスローすることはまったくありません。

パラメータをテストしたい場合は、おそらく次のようになります。

function isPosOrNeg(x) {

  if ( isNaN(Number(x))) {
    // throw an error
  }

  return x < 0? 'negative' : 'positive';
}

そのためisPosOrNeg('foo')、エラーはスローされますが、スローされisPosOrNeg('5')ません。

于 2012-09-13T05:03:52.940 に答える
0

これを試すことができます:

   var inp="your input value";
   if(isNaN(inp)){
      return "Not a number";
    } else {
      if( inp > 0 ) {
          return 'positive number';
       } else if( inp < 0 ) {
          return 'negative number';
       } else {
          return 'number is zero';
       }
    }
于 2012-09-13T05:04:38.200 に答える