次の方法で共有


throw ステートメント

更新 : 2007 年 11 月

try...catch...finally ステートメントで処理できるエラー条件を生成します。

throw [exception]

引数

  • exception
    省略可能です。任意の式を指定します。

解説

throw ステートメントは、catch ブロック内にある場合にだけ、引数なしで使用できます。その場合、throw ステートメントは、外側の catch ステートメントでキャッチされたエラーを再スローします。引数が指定されている場合、throw ステートメントは exception の値をスローします。

使用例

渡された値に基づいてエラーをスローし、そのエラーを try...catch...finally ステートメントの階層で処理する例を次に示します。

function TryCatchDemo(x){
   try {
      try {
      if (x == 0)                            // Evalute argument.
         throw "x equals zero";              // Throw an error.
      else
         throw "x does not equal zero";      // Throw a different error.
      }
      catch(e) {                             // Handle "x=0" errors here.
         if (e == "x equals zero")           // Check for a handled error.
            return(e + " handled locally."); // Return error message.
         else                                // Can't handle error here.
            throw e;                         // Rethrow the error for next
      }                                      // error handler.
   }
   catch(e) {                                // Handle other errors here.
      return(e + " error handled higher up."); // Return error message.
   }
}
print(TryCatchDemo(0)+ "\n");
print(TryCatchDemo(1));

必要条件

Version 5

参照

参照

try...catch...finally ステートメント

Error オブジェクト