> For the complete documentation index, see [llms.txt](https://strctr.gitbook.io/programming/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://strctr.gitbook.io/programming/01-languages/javascript/01-language/e-controls/e2-exception-handling/04-throw-expression.md).

# 04. throw expression

Инструкция `throw` используется, чтобы выбросить исключение. Инструкция `throw` имеет следующий синтаксис:

```javascript
throw expression;
throw new Error(message);
```

Результатом выражения `throw` может быть значение любого типа. Инструкции `throw` можно передать число, представляющее код ошибки, или строку, содержащую текст сообщения об ошибке.

```javascript
throw "Error2"; // string
throw 42; // number
throw true; // boolean
throw {
  toString: function() {
    return "I'm an object!";
  }
}; // object
```

Практически любой объект может быть выброшен как исключение. Тем не менее, не все выброшенные объекты создаются равными. Обычно числа или строки выбрасываются как исключения, но часто более эффективным является использование одного из типов исключений, специально созданных для этой цели.
