我收到"Uncaught SyntaxError: Invalid or unexpected token"错误 .
并尝试捕捉'尝试捕捉',但它不起作用 .
function a(){ try{ var img1 = "==""; <#-- it occurs error --> }catch (e) { console.log("image error:" + e.message); } }
您有语法错误,无法捕获语法错误 .
在代码的解析或验证时检查此错误 . try .. catch 语句在运行时执行 . 因此,它没有发挥作用 .
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 处理或自己创建的语法错误:
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
1 回答
您有语法错误,无法捕获语法错误 .
在代码的解析或验证时检查此错误 .
try .. catch
语句在运行时执行 . 因此,它没有发挥作用 .如果您使用eval或parse(例如JSON)代码,则可以处理语法错误 only . 或者您可以创建如下语法错误:
对于
eval
处理或自己创建的语法错误:试试这个:
我想建议你阅读:
try...catch Statement
Exception Handling State
Syntax Error