gpt4 book ai didi

node.js - Express 框架中的 next(error) 和 throw new Error 有什么区别?

转载 作者:行者123 更新时间:2023-12-05 03:31:58 25 4
gpt4 key购买 nike

有人可以向我解释一下下面代码 Express JS 中两种异常错误处理方式的区别吗:

const express = require('express');
const app = express();

app.get('/test', (req, res, next) => {

// the first way:
throw new Error('my error message');

// the second way:
next(new Error('my error message'));

});

app.use((err, req, res, next) => {
res.status(err.status || 500).send(err.message || 'Internal Server Error');
});

app.listen(3000, () => console.log('Welcome to ExpressJS'));

它返回由错误中间件处理的相同结果,但这里有什么区别?

最佳答案

Nothing, based on the source code.

  try {
fn(req, res, next);
} catch (err) {
next(err);
}

关于node.js - Express 框架中的 next(error) 和 throw new Error 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70542596/

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