Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2013, 13:41
a13 a13 вне форума
Новичок на форуме
Отправить личное сообщение для a13 Посмотреть профиль Найти все сообщения от a13
 
Регистрация: 29.06.2012
Сообщений: 6

Необработанные исключения
Приветствую! Хочу внести ясность для себя о необработанных исключениях в JavaScript.
К примеру есть какой-нибудь statement

window.openpage();

Он сгенерирует Run-time Exception, потомучто у обьекта window нет такого метода.
А дальше? Мой коллега говорит, что если window.openpage(); будет находится в свою очередь в другом методе, то выполнение этого метода прекращатся и интерпретатор переходит к следующему statement после этого "родительского" метода.
Но на одном из ресурсов я нашел следующее:

"When a JavaScript statement generates an error, it is said to throw an exception. Instead of proceeding to the next statement, the JavaScript interpreter checks for exception handling code. If there is no exception handler, then the program returns from whatever function threw the exception. This is repeated for each function on the call stack until an exception handler is found or until the top level function is reached, causing the program to terminate."

Какой же все-таки flow после необработанного исключения?
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2013, 14:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

(function(){
    throwException();
})();
alert('Продолжаем работать');
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2013, 14:53
a13 a13 вне форума
Новичок на форуме
Отправить личное сообщение для a13 Посмотреть профиль Найти все сообщения от a13
 
Регистрация: 29.06.2012
Сообщений: 6

alert('Продолжаем работать'); не выполниться, верно?
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2013, 18:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Походу верно. Тут на сайте кстати исключения перехватываются, чтобы показать в алерте ошибку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исключения (throw,try,catch,finally) Niar Общие вопросы Javascript 69 28.01.2010 14:45