首页 文章

javascript尝试catch语句不能在我的代码中工作

提问于
浏览
-3
  • 我收到"Uncaught SyntaxError: Invalid or unexpected token"错误 .

  • 并尝试捕捉'尝试捕捉',但它不起作用 .

function a(){
  try{
   var img1 = "=="";  <#-- it occurs error -->
  }catch (e) {
    console.log("image error:" + e.message);
  }
}

1 回答

  • 1

    您有语法错误,无法捕获语法错误 .

    在代码的解析或验证时检查此错误 . try .. catch 语句在运行时执行 . 因此,它没有发挥作用 .

    如果您使用eval或parse(例如JSON)代码,则可以处理语法错误 only . 或者您可以创建如下语法错误:

    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);
          }
        }
    

    我想建议你阅读:

    • try...catch Statement

    • Exception Handling State

    • Syntax Error

相关问题