我将我的代码包装到try / catch块中,我决定测试它以查看它是如何工作的。
下面是一段简单的代码片段,它会生成语法错误 - trigge rHandler
try{
$(document).trigge rHandler('fbload');
}catch(e){
alert(e);
}
但是我没有收到警报!而是将错误记录在控制台中作为未处理的语法错误。我原以为在Try块中生成的任何错误都会自动传递到Catch部分,在那里我可以用它做任何我想做的事情?为什么这似乎不起作用?
答案 0 :(得分:4)
try..catch
将捕获在运行时发生的异常。但是在解析时间本身期间会出现语法错误。所以,当代码
$(document).trigge rHandler('fbload');
遇到,JavaScript尝试解析表达式。但它不可能。所以它是无能为力的,并且会立即失败,因为它不会被except
块捕获。