Ошибки бывают в любом приложении или программе. Сайты не исключение.
Некоторые ошибки программист может предвидеть (такие как ошибки вычисления), но от ошибок переполнения памяти, перемещение ресурсов или смены url никто не застрахован. Главное - поймать ошибку и правильно обработать. Для обработки ошибок в JS, как Вы уже догадались, используют конструкцию try{ ... } catch (Exception) { ... }
Для начала научимся просто ловить ошибки. Ниже приведён пример кода, который не сможет выполниться до конца, т.к. переменная b не объявлена.
А вот пример, где ошибка не просто остановит выполнение скрипта, а переведёт выполнение скрипта в блок catch
Но как же обработать эту ошибку?
Для этого существует переменная Exception , в которой и хранится описание ошибки.
Exception хранит в себе стек, приведший к данной ошибке. Вызывается Exception.stack
Exception также хранит в себе тип ошибки. Вызывается Exception.name
Описание Exception можно вывести так Exception.message
Выведем значения этой Exception :
Спасибо за внимание.
1 2 3 4 | alert( "Скрипт начал выполнение" ); var a=0; a=a+b; alert( "Скрипт закончил выполнение" ); |
Клик, чтобы проверить работу скрипта
1 2 3 4 5 6 7 8 | try { alert( "Скрипт начал выполнение" ); var a=0; a=a+b; alert( "Скрипт закончил выполнение" ); } catch (Exception) { alert( "Ошибка при вычислении" ); } |
Клик, чтобы проверить работу второго скрипта
1 2 3 4 5 6 7 8 9 10 | try { alert( "x=" +x); } catch (Exception) { alert( "Ошибка при выводе переменной." + "\n" + "Текст ошибки : " +Exception.message + "\n" + "Тип ошибки : " +Exception.name + "\n" + "Стек ошибки : " +Exception.stack ); } |
Клик, чтобы вывести Exception