Чтение онлайн

ЖАНРЫ

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

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

Описание

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

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

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

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

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

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

Пример

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

function factorial(x) {

if (х < 0)

throw new Error("factorial: x должно быть >= 0");

if (x <= 1)

return 1;

else

return x * factorial(x1);

}

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

Window.alert
):

try {

&*(&/* здесь возникает ошибка */ }

catch(e) {

if (е instanceof Error) {

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

alert(e.name + ": + е.message);

}

}

См. также

EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError

Error.message

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

Синтаксис

error.message

Описание

Свойство

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

Error.name

тип ошибки

Синтаксис

error.name

Описание

Свойство

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

Error.toString

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

Синтаксис

error.toString

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

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

escape (устарело)

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

Синтаксис

escape(s)

Аргументы

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

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

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

Описание

escape
– глобальная функция, которая возвращает новую строку, содержащую закодированную версию аргумента s. Сама строка s не изменяется. Функция
escape
возвращает строку, в которой все символы, имеющиеся в строке s, отличные от букв, цифр и символов пунктуации (@, *, _, +, -,. и /) набора ASCII, заменены управляющими последовательностями в формате %хх или %ихххх (где х обозначает шестнадцатеричную цифру). Символы Юникода от \u0000 до \u00f f заменяются управляющей последовательностью %хх, все остальные символы Юникода - последовательностью %uхххх.

Поделиться с друзьями: