Поймать исключение во время определения функции в JavaScript - PullRequest
0 голосов
/ 02 февраля 2012

В приведенном ниже определении функции есть ошибка сценария

function foo () {
    try {
        var bar = function() {
            ERROR
        }

    } catch (exception) {
        console.debug("exception");
    }
}


foo();

Но catch завершился ошибкой, так как функция bar не выполнена.Можно ли отследить эти ошибки, запустив функцию?

Спасибо.

1 Ответ

0 голосов
/ 02 февраля 2012

Это невозможно.

Только ошибки Synrax обнаруживаются без вызова функции.Другие ошибки , такие как ошибка ссылки, зависят от того, когда они вызываются.Невозможно определить, будет ли функция генерировать ReferenceError или нет.

Пример:

function foo() {
    alert(bar);
}
// If you call bar() at this point:  ReferenceError: 'bar' is not defined
// However, the variable may simply be defined later:
var bar = 'existent';
// bar():  alerts "existent"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...