我想知道是否有可能通过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)
小智 11
当使用try catch捕获特定类型的错误时,应该确保不会抑制其他类型的异常.否则,如果评估的代码会抛出不同类型的异常,它可能会消失并导致代码的意外行为.
我建议写这样的代码:
try {
eval(code);
} catch (e) {
if (e instanceof SyntaxError) {
alert(e.message);
} else {
throw( e );
}
}
Run Code Online (Sandbox Code Playgroud)
请注意"其他"部分.
| 归档时间: |
|
| 查看次数: |
40532 次 |
| 最近记录: |