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
   195   196   197   198   199   200   201   202   203   204   205