Введение в ошибки в JavaScript
Давайте начнем с обсуждения того, что означает «ошибка» в языке программирования, особенно в JavaScript. Ошибка может быть определена как ошибка, или неправильное утверждение, или неверное истолкование, или ошибка, но это определение не совсем корректно при разработке программы. В программировании ошибка - это часть или часть кода, которая нарушает нормальный ход программы. В любом языке программирования обычно есть три вида ошибок, с которыми можно столкнуться,
- Ошибки времени компиляции
- Логические ошибки
- Ошибки во время выполнения.
Нам часто страшно, когда мы сталкиваемся с какими-либо ошибками, но ошибки хороши, потому что мы учимся не делать что-то и как сделать это лучше в следующий раз.
В JavaScript, если скрипт выдает ошибку, интерпретатор JavaScript останавливает выполнение программы, которая мгновенно отображает эту ошибку в консоли браузера вместе с ошибкой и номером строки, в которой она произошла, в файле. Единственный способ отладить наш JavaScript - это использовать ошибки и предупреждения как можно лучше и найти причину этого.
Типы ошибок в JavaScript
Ошибка может или не может быть фатальной для нашего приложения в зависимости от вида ошибки, с которой мы сталкиваемся. Существует шесть типов ошибок, которые обычно возникают в JavaScript -
- Ошибка Eval
- Ошибка диапазона
- Ошибка ссылки
- Синтаксическая ошибка
- Ошибка типа
- Ошибка URI
Давайте обсудим каждую из этих ошибок подробно.
Имя ошибки |
Описание |
EvalError | Произошла ошибка в функции eval () |
RangeError | Произошло число «вне диапазона» |
ReferenceError | Произошла незаконная ссылка |
Синтаксическая ошибка | Произошла синтаксическая ошибка |
TypeError | Произошла ошибка типа |
URIError | Произошла ошибка в encodeURI () |
1. EvalError: Указывает на ошибку в глобальной функции eval (), т.е. функция eval () используется некорректно. Более новые версии JavaScript больше не генерируют эту ошибку, вместо этого используется синтаксическая ошибка.
2. RangeError: эта ошибка выдается, когда параметр или значение (числовое) находится за пределами или превышает допустимый диапазон.
3. ReferenceError: эта ошибка выдается, когда мы ссылаемся на переменную, которая не существует (используется недопустимая ссылка), т.е. эта переменная не была объявлена. Это одна из самых распространенных и часто встречающихся ошибок.
4. SyntaxError: эта ошибка указывает на то, что синтаксис сценария недействителен, т.е. в коде присутствует синтаксически неверное утверждение. Что касается синтаксических ошибок, интерпретируемый язык, такой как JavaScript, не будет их генерировать, пока скрипт не будет загружен и прочитан браузером.
5. TypeError: эта ошибка выдается, когда значение имеет неправильный тип, как ожидалось, или недопустимый тип данных используется для объявления или определения переменной. Пример: выполнение числовых вычислений для строковой переменной или объекта.
6. URIError: Эта ошибка указывает на использование недопустимых символов, которые недопустимы в методах / функциях, связанных с URI (encodeURI () или decodeURI ()).
Обработка ошибок в JavaScript
Когда возникает ошибка, мы знаем, что скрипт прекращает выполнение, если мы не обработаем эти ошибки в самом скрипте, чтобы не нарушить нормальный ход программы. Различные способы, которые мы можем реализовать для обработки этих ошибок:
try …. catch block
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
)
в заключение
В некоторых ситуациях существуют определенные разделы сценария, которые необходимо выполнить независимо от того, происходит ли ошибка, и эту часть раздела необходимо записать в блоке finally.
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
) finally(
//mandatory statements to run
)
обещания
Обещания используются для обработки асинхронных операций, которые могут привести к ошибке. Они могут управлять несколькими асинхронными операциями и предоставлять лучшие решения по обработке ошибок по сравнению с обратными вызовами и событиями.
var promise = new Promise(
function(resolve, reject)(
//do something
)
);
Пример:
function captureErrorTypes() (
try (
var sum = x + y;
alert(sum);
) catch(error) (
switch (error.name) (
case 'SyntaxError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'RangeError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'ReferenceError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
default:
alert("caught a " + error.name + ": " + error.message);
//handle all other error types here…
break;
)
)
)
Рекомендуемые статьи
Это руководство по ошибкам в JavaScript. Здесь мы обсуждаем ошибки javascript и то, что они означают в любом языке программирования, а также тип, который обычно встречается в javascript. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Работа инкапсуляции в JavaScript
- Компиляторы JavaScript
- Как работает цикл Loop в Javascript?
- Почему JavaScript чувствителен к регистру, а HTML - нет?
- Бросок против бросков | 5 главных отличий, которые вы должны знать
- 10 лучших версий Java с функциями