Оператор throw

Обновлен: Ноябрь 2007

Создает ошибку, которая может быть обработана оператором try...catch...finally.

throw [exception]

Аргументы

  • exception
    Необязательный. Любое выражение.

Заметки

Оператор throw может использоваться без аргумента, но только в том случае, если оператор 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));

Требования

Версия 5

См. также

Ссылки

Оператор try...catch...finally

Объект "Error"