Page 200 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 200
E
В большинстве реализаций JavaScript экземпляры объекта r ror содержат свойство
s t ack, которое является строковым представлением стека (это нестандартное средство
JavaScript, но оно доступно в большинстве систем). Вооружившись этими знаниями,
мы можем написать пример, который демонстрирует обработку исключений.
(
function а ) {
console . log ( ' а : вызываем Ь ' ) ;
Ь ( ) ;
о
g
console . l o ( ' a : готов ' ) ;
function Ь ( ) {
console . log ( Ь ' : вызываем с ' ) ;
с ( ) ;
о
g
console . l o ( ' b : готов ' ) ;
function с ( ) {
у
console . l o ( ' c : генерируем ошибк ' ) ;
g
throw new Error ( ' c ошибка ' ) ;
console . l o ( ' c : готов ' ) ;
о
g
function d ) ( {
console . log ( ' d : вызываем с ' ) ;
с ( ) ;
console . l o ( ' d : готов ' ) ;
g
о
try
а ( ) ;
catch ( e rr)
k
console . l og ( e rr . stac ) ;
try
d ( ) ;
catch ( e rr)
console . l og ( e rr . stack) ;
Запуск этого примера в Firefox приводит к следующему выводу на консоль.
а : вызываем Ь
Ь : вызываем с
с : генерируем ошибку
c@debugger eval cod : l З : l
e
b@debugger eval cod : 8 : 4
e
a@debugger eval cod : 3 : 4
e
e
@debugger eval cod : 2 3 : 4
Обработка исключений и стек вызовов 201

