eval javascript,检查语法错误

Jes*_*mos 39 javascript eval

我想知道是否有可能通过javascript找到如果调用eval()有语法错误或未定义的变量等等...所以让我说我使用eval一些任意的javascript有没有办法捕获错误输出那个评价?

Cha*_*ion 61

您可以测试以查看错误是否确实是SyntaxError.

try {
    eval(code); 
} catch (e) {
    if (e instanceof SyntaxError) {
        alert(e.message);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @Jesus - 你想知道这是一件好事.无论如何,祝你好运. (3认同)

小智 11

当使用try catch捕获特定类型的错误时,应该确保不会抑制其他类型的异常.否则,如果评估的代码会抛出不同类型的异常,它可能会消失并导致代码的意外行为.

我建议写这样的代码:

try {
    eval(code); 
} catch (e) {
    if (e instanceof SyntaxError) {
        alert(e.message);
    } else {
        throw( e );
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意"其他"部分.

  • 扔不是一个功能 (4认同)