javascript try catch语句在我的代码中不起作用

时间:2018-06-26 07:53:28

标签: javascript error-handling try-catch uncaughtexceptionhandler

  1. 我收到了“未捕获的SyntaxError:无效或意外的令牌”错误。
  2. 并尝试使用“ try〜catch”进行捕获,但是它不起作用。

          <Field
            name="endOfPartnership"
            type="text"
            component={DatePicker}
            className={css.fullWidth}
            floatingLabelFocusStyle={styles.floatingLabelColor}
            underlineFocusStyle={styles.floatingLabelColor}
            floatingLabelText={intl.formatMessage(defineMessages.endOfPartnership)}
            fullWidth
          />
    

1 个答案:

答案 0 :(得分:1)

您遇到语法错误,无法捕获语法错误。

在分析或验证代码时检查此错误。 try .. catch语句在运行时执行。因此,它无法正常工作。

如果您评估或解析(例如JSON)代码,则只能处理语法错误。或者,您可以创建如下语法错误:

try {
  throw new SyntaxError('Hello', 'someFile.js', 18);
} catch (e) {

  console.log(e.message);  // "Hello"
  console.log(e.name);  // "SyntaxError"
}

对于eval处理或自行创建的语法错误:

  

当JavaScript引擎在解析代码时遇到与语言语法不符的令牌或令牌顺序时,会引发SyntaxError。

     

来自 MDN

尝试一下:

    function a(){
      try{
       var img1 = "==\"";
       //but you have to put some error here without parsing or validation error of your code.
      }catch (e) {
        console.log("image error:" + e.message);
      }
    }

我建议您阅读: