[英]Can catch statement catch syntax errors in JavaScript?
Kangax博客有一个代码示例: §
try {
(var x = 5); // grouping operator can only contain expression, not a statement (which `var` is)
} catch(err) {
// SyntaxError
}
由于第2行的语法错误会影响“整个代码的语法”,因此catch
语句的重点是什么?
是catch
能赶上在JavaScript语法错误?
你是对的,javascript解析器会产生错误,所以它永远不会捕获它。
也许他的意图是指出错误的语法(分组运算符只能包含表达式,而不是语句),但try / catch语句是无用的。
而且,catch中的注释//syntaxError
让我们假设catch会做一些事情。
不,那是对的。 使用try...catch
无助于防止语法错误。
如果存在语法错误而无法解析脚本块,则根本不会运行脚本块。
try / catch不会捕获语法错误,因为你不能像这样将括号中的变量赋值包装起来。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.