Javascript 使用Next.js和自定义服务器捕获带有JSON负载的错误客户端

Javascript 使用Next.js和自定义服务器捕获带有JSON负载的错误客户端,javascript,node.js,express,next.js,Javascript,Node.js,Express,Next.js,我在自定义服务器(Express)中使用Next.js,遇到了一个基本api错误处理问题 我有一些简单的错误处理中间件,看起来类似于: app.use((err, req, res) => { res.status(400).send(message); }); 如果message是一个字符串,我就能够在客户端捕获错误(使用fetch和promises时)。但是,如果我使用以下内容: res.status(400).send({ message }); 这不会被捕获,但我可以在

我在自定义服务器(Express)中使用Next.js,遇到了一个基本api错误处理问题

我有一些简单的错误处理中间件,看起来类似于:

app.use((err, req, res) => {
    res.status(400).send(message);
});
如果
message
是一个字符串,我就能够在客户端捕获错误(使用fetch和promises时)。但是,如果我使用以下内容:

res.status(400).send({ message });

这不会被捕获,但我可以在promise的
then
处理程序中访问有效负载。我如何发送带有json负载的错误响应,该负载可以在
catch
处理程序中捕获

您可以通过更改

res.status(400).send({ message });


无论我使用send还是json,我仍然存在同样的问题。客户端axios或fetchNative Fetch函数使用哪个库。您可以添加客户端代码吗?我遇到了一个类似的问题,我忘记了在JSON响应中使用“await”,例如
const msg=await res.JSON()
res.status(400).JSON({ error:message });