Исключения в JS. try catch

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