В программировании есть три типа ошибок: (a) Ошибки синтаксиса, (b) Ошибки времени выполнения и (c) Логические ошибки.
Содержание:
Ошибки синтаксиса
Синтаксические ошибки, также называемые ошибками синтаксического анализа, происходят во время компиляции на традиционных языках программирования и во время интерпретации в JavaScript.
Например, следующая строка вызывает синтаксическую ошибку, поскольку отсутствует закрывающая скобка.
Когда в JavaScript возникает синтаксическая ошибка, затрагивается только код, содержащийся в том же потоке, что и синтаксическая ошибка, и остальная часть кода в других потоках выполняется, если ничто в них не зависит от кода, содержащего ошибку.
Ошибки времени выполнения
Ошибки выполнения, также называемые исключениями, возникают во время выполнения (после компиляции / интерпретации).
Например, следующая строка вызывает ошибку времени выполнения, поскольку здесь синтаксис верен, но во время выполнения он пытается вызвать метод, который не существует.
Исключения также влияют на поток, в котором они происходят, позволяя другим потокам JavaScript продолжать нормальное выполнение.
Логические ошибки
Логические ошибки могут быть наиболее сложным типом ошибок для отслеживания. Эти ошибки не являются результатом синтаксиса или ошибки времени выполнения. Вместо этого они возникают, когда вы ошибаетесь в логике, которая управляет вашим скриптом, и вы не получаете ожидаемого результата.
Вы не можете поймать эти ошибки, потому что это зависит от вашего бизнес-требования, какой тип логики вы хотите поместить в свою программу.
Try ... catch ... finally
В последних версиях JavaScript добавлены возможности обработки исключений. JavaScript реализует функцию try ... catch ... finally
, а также оператор throw
для обработки исключений.
Вы можете catch
(поймать) генерируемые программой исключения времени выполнения , но вы не можете поймать ошибки синтаксиса JavaScript.
Try ... catch ... finally синтаксис блока -
За блоком try
должен следовать либо один блок catch
, либо один блок finally
(или один из них). Когда в блоке try
возникает исключение, исключение помещается в e и выполняется блок catch
. Необязательный блок finally
выполняется безоговорочно после try / catch
.
Вот пример, когда мы пытаемся вызвать несуществующую функцию, которая, в свою очередь, вызывает исключение. Давайте посмотрим, как он ведет себя без try ... catch
-
Теперь попробуем поймать это исключение, используя try ... catch
и отображаем удобное для пользователя сообщение. Вы также можете подавить это сообщение, если хотите скрыть эту ошибку от пользователя.
Вы можете использовать finally
(окончательный) блок, который всегда будет выполняться безоговорочно после try / catch
. Вот пример.
The throw Statement
Вы можете использовать инструкцию throw для повышения своих встроенных исключений или ваших индивидуальных исключений. Позже эти исключения могут быть захвачены, и вы можете предпринять соответствующие действия.
примерВ следующем примере показано, как использовать оператор throw
.
Вы можете создать исключение в одной функции, используя строку, целое число, логическое значение или объект, а затем вы можете зафиксировать это исключение либо в той же функции, что и выше, либо в другой функции, используя блок try ... catch
.
Метод onerror()
OnError обработчик событий, и это первый признак, чтобы облегчить обработку ошибок в JavaScript. Ошибка событие вызывается на объект окна всякий раз, когда происходит исключение на этой странице.
OnError обработчик событий содержит три части информации, чтобы определить точный характер ошибки -
- Сообщение об ошибке - то же сообщение, отображаемое браузером для данной ошибки
- URL - файл, в котором произошла ошибка
- Номер строки - номер строки в указанном URL, который вызвал ошибку
Вот пример, чтобы показать, как извлечь эту информацию.
примерВы можете отобразить извлеченную информацию любым способом, который, по вашему мнению, будет лучше. Вы можете использовать метод onerror , как показано ниже, для отображения сообщения об ошибке в случае возникновения каких-либо проблем при загрузке изображения.
Вы можете использовать onerror со многими тегами HTML для отображения соответствующих сообщений в случае ошибок.
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
Новые статьи
- JS База данных - фильтрация записей. Часть 2 - 15/12/2019 05:21
- JavaScript - Совместимость с браузерами - 08/09/2018 15:52
- JavaScript - Карта изображений - 08/09/2018 15:52
- JavaScript - отладка - 08/09/2018 15:51
- JavaScript - Мультимедиа - 08/09/2018 15:51
- JavaScript - анимация - 08/09/2018 15:50
- JavaScript - подтверждение формы - 08/09/2018 15:50
Предыдущие статьи
- JavaScript - Объектная модель документа или DOM - 08/09/2018 15:49
- JavaScript - Регулярные выражения и объект RegExp - 08/09/2018 15:48
- JavaScript - объект Math - 08/09/2018 15:48
- JavaScript - объект Date - 08/09/2018 15:48
- JavaScript - объект Array - 08/09/2018 15:47
- JavaScript - объект Strings - 08/09/2018 15:47
- JavaScript - логические объекты - 08/09/2018 15:46
- JavaScript - Числовые объекты - 08/09/2018 15:46
- JavaScript - Обзор объектов - 08/09/2018 15:45
- JavaScript - Печать страницы - 08/09/2018 15:45
- JavaScript - Void - 08/09/2018 15:45
- JavaScript - диалоговые окна - 08/09/2018 15:44
- JavaScript - Redirect - 08/09/2018 15:44
- JavaScript и Cookies - 08/09/2018 15:43
- JavaScript - События - 08/09/2018 15:43
- JavaScript - функции - 08/09/2018 15:42
- JavaScript - управление циклом - 08/09/2018 15:41
- JavaScript - цикл for ... in - 08/09/2018 15:41
- JavaScript - For цикл - 08/09/2018 15:40
- JavaScript - циклы - 08/09/2018 15:40