繁体   English   中英

可以在JavaScript中捕获语句捕获语法错误吗?

[英]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解析器会产生错误,所以它永远不会捕获它。

http://jsbin.com/oluje5/edit

也许他的意图是指出错误的语法(分组运算符只能包含表达式,而不是语句),但try / catch语句是无用的。

而且,catch中的注释//syntaxError让我们假设catch会做一些事情。

不,那是对的。 使用try...catch无助于防止语法错误。

如果存在语法错误而无法解析脚本块,则根本不会运行脚本块。

try / catch不会捕获语法错误,因为你不能像这样将括号中的变量赋值包装起来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM