В программировании есть три типа ошибок:
- Ошибка синтаксиса
- Ошибка выполнения
- Логическая ошибка
Ошибка синтаксиса
Синтаксические ошибки возникают на этапе компиляции или интерпретации выполнения языка программирования.
Факт. Синтаксические ошибки также называются ошибками синтаксического анализа.
Например, отсутствует закрывающая скобка
<script type = "text/javascript"> <!-- window.print(; //--> </script>
Примечание. Эта ошибка затрагивает только текущий поток и останавливает его выполнение.
Ошибки выполнения
Ошибки времени выполнения возникают после фазы компиляции или интерпретации выполнения языка программирования.
Факт. Синтаксические ошибки также известны как исключения.
Например, вызов несуществующей функции.
<script type = "text/javascript"> <!-- window.printme(); //--> </script>
Примечание. Эта ошибка затрагивает только текущий поток и останавливает его выполнение.
Логические ошибки
Логические ошибки возникают после этапа компиляции или интерпретации выполнения языка программирования и в основном из-за неправильной реализации бизнес-логики.
Факт. Синтаксические ошибки также известны как ошибки/дефекты.
Попробуй… поймай… наконец Заявление
Текущая версия javascript предлагает try-catch-finally и выдается для обработки исключений, возникающих во время выполнения.
<script type = "text/javascript"> <!-- try { // Code to run [break;] throw [// error] // this statement will // pass the control to catch with error/object } catch ( e ) { // Code to run if an exception occurs [break;] } [ finally { // Code that is always executed regardless of // an exception occurring }] //--> </script>
Обычно попробуйте использовать пару с catch для обработки ошибок и, наконец, необязательный блок для обработки обязательной операции по закрытию базы данных, чтобы ограничить утечку памяти, а Throw — это специальная конструкция для создания и перемещения управления в блок catch или, наконец, с брошенным объектом.
Примеры
Вот пример, когда мы пытаемся вызвать несуществующую функцию, которая, в свою очередь, вызывает исключение. Посмотрим, как он поведет себя без
<html> <head> <script type = "text/javascript"> <!-- function myFunc() { var a = 100; alert("Value of variable a is : " + a ); } //--> </script> </head> <body> <p>Click the following to see the result:</p> <form> <input type = "button" value = "Click Me" onclick = "myFunc();" /> </form> </body> </html>
Выход
Теперь попробуем перехватить это исключение с помощью try…catch и отобразить понятное сообщение. Вы также можете подавить это сообщение, если хотите скрыть эту ошибку от пользователя.
Пример оператора throw
<html> <head> <script type = "text/javascript"> <!-- function myFunc() { var a = 100; var b = 0; try { if ( b == 0 ) { throw( "Divide by zero error." ); } else { var c = a / b; } } catch ( e ) { alert("Error: " + e ); } } //--> </script> </head> <body> <p>Click the following to see the result:</p> <form> <input type = "button" value = "Click Me" onclick = "myFunc();" /> </form> </body> </html>
Выход
Вы можете вызвать исключение в одной функции, используя строку, целое число, логическое значение или объект, а затем вы можете перехватить это исключение либо в той же функции, что и выше, либо в другой функции, используя try…catch блок.
Метод onerror()
Обработчик событий onerror был первой функцией, упрощающей обработку ошибок в JavaScript. Событие error запускается для объекта окна всякий раз, когда на странице возникает исключение.
Обработчик событий onerror предоставляет три элемента информации для определения точного характера ошибки:
- Сообщение об ошибке — то же сообщение, которое браузер отобразит для данной ошибки.
- URL — файл, в котором произошла ошибка.
- Номер строки — номер строки в данном URL-адресе, вызвавший ошибку.
Вот пример, показывающий, как извлечь эту информацию.
Пример
<html> <head> <script type = "text/javascript"> <!-- window.onerror = function (msg, url, line) { alert("Message : " + msg ); alert("url : " + url ); alert("Line number : " + line ); } //--> </script> </head> <body> <p>Click the following to see the result:</p> <form> <input type = "button" value = "Click Me" onclick = "myFunc();" /> </form> </body> </html>
Выход
Вы можете отображать извлеченную информацию так, как считаете нужным.
Метод Onerror в html-теге
Вы можете использовать метод onerror, как показано ниже, для отображения сообщения об ошибке в случае возникновения проблем с загрузкой изображения.
<img src="myimage.gif" onerror="alert('An error occurred loading the image.')" />
Вы можете использовать onerror со многими тегами HTML для отображения соответствующих сообщений в случае ошибок.
Ссылка
https://www.tutorialspoint.com/javascript/javascript_error_handling.htm