为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript - eval 中的嵌套函数不适用于 try/catch 块

JavaScript - eval 中的嵌套函数不适用于 try/catch 块

慕少森 2021-07-09 18:04:15
我有以下代码可以在一个中运行eval():const code = `    async function func() {        asd();    }    func();`;try {    console.log("running code");    return eval(code);}catch (err) {    console.log("error");    return err.message;}在这种情况下,asdis undefined,因此我希望引用错误作为字符串 ( return err.message;)返回。但是,不是触发 catch 块,而是抛出异常,就好像没有 try/catch 块一样。但是,如果我要运行eval("asd()"),该catch块将捕获错误并返回一个字符串。对于嵌套函数,我需要做些什么不同的事情吗?注意:由于其他代码(之前const code ...),整个代码在异步函数中,如果这有所不同的话。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信