在JavaScript中的函数定义期间捕获异常

时间:2012-02-02 11:08:07

标签: javascript firefox

下面的函数定义中存在脚本错误

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

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


foo();

但由于catch函数未执行,bar失败。是否可以通过真正运行该函数来捕获这些错误?

感谢。

1 个答案:

答案 0 :(得分:0)

那是不可能的。

只调用Synrax错误而不调用该函数。其他errors,例如参考错误,取决于它们何时被调用。无法确定函数是否会抛出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"