Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Необработанные исключения (https://javascript.ru/forum/misc/36333-neobrabotannye-isklyucheniya.html)

a13 12.03.2013 13:41

Необработанные исключения
 
Приветствую! Хочу внести ясность для себя о необработанных исключениях в 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 после необработанного исключения?

danik.js 12.03.2013 14:29

(function(){
    throwException();
})();
alert('Продолжаем работать');

a13 12.03.2013 14:53

alert('Продолжаем работать'); не выполниться, верно?

danik.js 12.03.2013 18:42

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


Часовой пояс GMT +3, время: 15:20.