Мне было интересно, если кто-либо из вас попытался поймать ошибки, такие как RangeError, ReferenceError и TypeError, используя механизм обработки исключений JavaScript?Как мы выбрасываем RangeError, ReferenceError, TypeError в JavaScript?
, например, для RangeError:
try {
var anArray = new Array(-1);
// an array length must be positive
throw new RangeError("must be positive!")
}
catch (error) {
alert(error.message);
alert(error.name);
}
finally {
alert("ok, all is done!");
}
В приведенном выше случае, я я бросать новый объект RangeError?
Причина моего кода в предупреждении (error.message) не показывает пользовательское сообщение «должно быть положительным».
Что я могу сделать, чтобы бросить свой собственный объект RangeError (и ReferenceError, TypeError)?
Лучший.
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/TypeError – DjangoRocks
Просто остановитесь на этом, и я должен исправить вас: 'new Array (-1)' IS недопустим. Хотя вы правильно указываете, что индексы не должны быть положительными, первым аргументом конструктора «Array» является количество элементов внутри массива после создания (все по умолчанию «undefined») и по умолчанию равны нулю. Очевидно, вы не можете создать массив с менее чем 0 элементами в нем. (Также не так, что использование отрицательных индексов в массивах Javascript не будет корректировать свойство 'length', поскольку оно указывает на самый высокий положительный индекс, который использовался. Вот почему в большинстве случаев имеет смысл не допускать их) –