JavaScript:尝试/捕获 - 我在这里做错了什么?

时间:2014-04-16 09:26:18

标签: javascript error-handling try-catch

我将我的代码包装到try / catch块中,我决定测试它以查看它是如何工作的。 下面是一段简单的代码片段,它会生成语法错误 - trigge rHandler

try{
    $(document).trigge rHandler('fbload');
}catch(e){
     alert(e);
}

但是我没有收到警报!而是将错误记录在控制台中作为未处理的语法错误。我原以为在Try块中生成的任何错误都会自动传递到Catch部分,在那里我可以用它做任何我想做的事情?为什么这似乎不起作用?

1 个答案:

答案 0 :(得分:4)

try..catch将捕获在运行时发生的异常。但是在解析时间本身期间会出现语法错误。所以,当代码

$(document).trigge rHandler('fbload');
遇到

,JavaScript尝试解析表达式。但它不可能。所以它是无能为力的,并且会立即失败,因为它不会被except块捕获。