gpt4 book ai didi

javascript - 当函数稍后出现错误时,console.log 不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 00:03:41 25 4
gpt4 key购买 nike

我正在尝试使用 console.log 语句调试 Express.js 中的一些代码。但是,似乎只要函数中有错误,即使错误发生在 console.log 语句之后,console.log 语句也不会执行。这是为什么?

我逐行注释掉了该函数,发现如果后面的一行被注释掉,console.log 语句会起作用,但如果没有注释掉,则什么也不会打印出来。如果 console.log 没有阻塞,console.warn 和 console.error 也不起作用。

async delete(id) {
console.error("repo");
let color = await this.get(id);
console.warn(color);
let event = await this.events.create("Delete Color", 1,
this.name, color.name);
const color = await this._delete({ where: { id }}, true,
{ eventId: event.id }); // this is where the error occurs
await this.events.done(event.id);
return color;
}

我希望 console.log,或者至少 console.warn 和 console.error 是阻塞的,这样它们应该按顺序执行。由于包含 this._delete() 的行出现在 console.error 和 console.warn 语句之后,因此无论该函数是否有效,它都应该在控制台中打印出来。但事实并非如此。

最佳答案

正如 charlietfl 评论的那样,由于变量 color 已经被声明,整个函数是不正确的。

该错误不是运行时错误而是 SyntaxError,阻止函数执行。

关于javascript - 当函数稍后出现错误时,console.log 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55357024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com