Чтобы начать сомневаться, нужно принять решение (Ежи Лец).

JavaScript – Обработка ошибок и исключений

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
JavaScript - Обработка ошибок и исключений
Есть три типа ошибок в программировании:

  • синтаксические ошибки,
  • ошибки времени выполнения,
  • логические ошибки.

Ошибки синтаксиса

Синтаксические ошибки, также называемые ошибками синтаксического анализа, происходят во время компиляции в традиционных языках программирования и в интерпретации времени в JavaScript.

Например, следующая строка вызывает ошибку синтаксиса, поскольку отсутствует закрывающая скобка.

 

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

Ошибки времени выполнения

Ошибки времени выполнения, называемые также исключениями, происходят во время выполнения (после компиляции/интерпретации).

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

 

Исключения также влияют на поток, в котором они происходят, позволяя другие потоки JavaScript, продолжить нормальное выполнение.

Логические ошибки

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

Вы не можете поймать эти ошибки, потому что это зависит от ваших потребностей бизнеса, какой тип логики вы хотите поместить в вашей программе.

Заявление try…catch…finally

В последних версиях JavaScript добавлены возможности обработки исключений. JavaScript реализует try…catch…finally, а также оператор throw для обработки исключений.

Можно перехватить исключения, созданные программистом, и исключения среды выполнения, но нельзя перехватить ошибки синтаксиса JavaScript.

Вот блок синтаксиса try…catch…finally:

 

За блоком try должен следовать либо ровно один блок catch, либо один блок finally (или один из обоих). При возникновении исключения в блоке try исключение помещается в e и выполняется блок catch. Необязательный блок finally выполняется безоговорочно после try/catch.

Примеры

Вот пример, где мы пытаемся вызвать несуществующую функцию, которая, в свою очередь поднимает исключение. Давайте посмотрим, как ведет себя без Try … Catch:

Теперь давайте попробуем поймать это исключение с помощью Try … Catch и отобразим для пользователя сообщение. Вы также можете отключить это сообщение, если вы хотите, скрыть эту ошибку от пользователя.

Вы можете использовать блок finally, который всегда будет выполняться безоговорочно после try/catch. Вот пример:

Заявление throw

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

Пример

В следующем примере показано, как использовать заявление throw.

Вы можете вызвать исключение в одной функции, используя строку, целое число, логическое значение, или объект, а затем вы можете захватить это исключение либо в одной и той же функции, как мы делали выше, или в другой функции с помощью блока Try … Catch.

Метод OnError()

Обработчик событий onerror был первой функцией, облегчающей обработку ошибок в JavaScript. Событие ошибки возникает на объекте окна всякий раз, когда на странице возникает исключение.

Обработчик событий OnError содержит три части информации, чтобы определить точный характер ошибки:

  • Сообщение об ошибке – То же самое сообщение, что браузер будет отображать для данной ошибки
  • URL – файл, в котором произошла ошибка
  • Номер строки – номер строки в данном URL, который вызвал ошибку

Вот пример, чтобы показать, как извлечь эту информацию.

Пример

Вы можете отобразить извлеченную информацию любым способом, какой лучше.

Вы можете использовать метод OnError, как показано ниже, чтобы отобразить сообщение об ошибке в случае, если есть какие – либо проблемы при загрузке изображения.

 

Вы можете использовать OnError со многими HTML-тегами для отображения соответствующих сообщений в случае возникновения ошибок.

 

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close