JavaScript. Подробное руководство, 6-е издание, стр. 423

Методы

<b>toString()</b>
Возвращает строку, определенную в реализации, которая представляет этот объект
<b>Error</b>
.

Описание

Экземпляры класса

<b>Error</b>
представляют ошибки или исключения и обычно используются с инструкциями
<b>throw</b>
и
<b>try/catch</b>
. Свойство
<b>name</b>
определяет тип исключения, а посредством свойства
<b>message</b>
можно создать и отправить пользователю сообщение с подробной информацией об исключении.

Интерпретатор JavaScript никогда не создает объект

<b>Error</b>
непосредственно. Вместо этого он создает экземпляры одного из подклассов
<b>Error</b>
, таких как
<b>SyntaxError</b>
или
<b>RangeError</b>
. В ваших программах для предупреждения об исключении может быть удобнее создавать объекты
<b>Error</b>
или просто выдавать сообщение об ошибке или ее код в виде элементарного строкового или числового значения.

Обратите внимание: спецификация ECMAScript определяет для класса

<b>Error</b>
метод
<b>toString()</b>
(он наследуется всеми подклассами
<b>Error</b>
), но не требует, чтобы этот метод возвращал строку, содержащую значение свойства
<b>message</b>
. Поэтому не следует ожидать, что метод
<b>toString()</b>
преобразует объект
<b>Error</b>
в строку, понятную человеку. Чтобы отобразить для пользователя сообщение об ошибке, необходимо явно использовать свойства
<b>name</b>
и message объекта
<b>Error</b>
.

Пример

Предупредить об исключении можно так:

<b>function factorial(x) {</b>

<b>if (х &lt; 0) </b>

<b>  throw new Error(&quot;factorial: x должно быть &gt;= 0&quot;);</b>

<b>  if (x &lt;= 1)</b>

<b>    return 1; </b>

<b>  else</b>

<b>    return x * factorial(x1);</b>

<b>}</b>

Перехватывая исключение, можно сообщить о нем пользователю следующим способом (с помощью клиентского метода

<b>Window.alert()</b>
):

<b>try {</b>

<b>  &amp;*(&amp;/* здесь возникает ошибка */ }</b>

<b>catch(e) {</b>

<b>  if (е instanceof Error) {</b>

<b>    // Это экземпляр класса Error или его подкласса?</b>

<b>    alert(e.name + &quot;: + е.message);</b>

<b>  }</b>

<b>}</b>

См. также

EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError

Error.message

сообщение об ошибке

Синтаксис

<b>error.message</b>

Описание

Свойство

<b>message</b>
объекта
<b>Error</b>
(или экземпляра любого подкласса
<b>Error</b>
) предназначено для хранения понятной человеку строки, содержащей подробные сведения о возникшей ошибке или исключении. Если конструктору
<b>Еrror()</b>
передан аргумент
<b>message</b>
, он становится значением свойства
<b>message</b>
. Если аргумент
<b>message</b>
передан не был, объект
<b>Error</b>
наследует для этого свойства значение по умолчанию, определенное реализацией (которое может быть пустой строкой).

Error.name

тип ошибки

Синтаксис

<b>error.name</b>

Описание

Свойство

<b>name</b>
объекта
<b>Error</b>
(или экземпляра любого подкласса
<b>Error</b>
) задает тип произошедшей ошибки или исключения. Все объекты
<b>Error</b>
наследуют это свойство от своего конструктора. Значение свойства совпадает с именем конструктора. Другими словами, у объектов
<b>SyntaxError</b>
свойство name равно «SyntaxError», а у объектов
<b>EvalЕrror</b>
- «EvalError».

Error.toString()

преобразует объект Error в строку (переопределяет Object.toString())

Синтаксис

<b>error.toString()</b>

Возвращаемое значение

Строка, определенная реализацией. Стандарт ECMAScript ничего не говорит о значении, возвращаемом этим методом, за исключением того, что оно должно быть строкой. Стоит отметить, что он не требует, чтобы возвращаемая строка содержала имя ошибки или сообщение об ошибке.

escape() (устарело)

кодирует строку

Синтаксис

<b>escape(s)</b>

Аргументы

s Строка, которая должна быть закодирована (с применением управляющих последовательностей).

Возвращаемое значение

Закодированная копия s, в которой определенные символы заменены шестнадцатеричными управляющими последовательностями.

Описание