gpt4 book ai didi

javascript - Expressjs 如何决定调用哪个错误处理程序。如果我们有多个错误句柄

转载 作者:行者123 更新时间:2023-11-30 13:59:03 26 4
gpt4 key购买 nike

我只是想知道当我们有多个错误处理程序时,express 如何决定调用哪个错误处理程序 (next(err))。

最佳答案

如果您有多个错误处理程序,它们将按照您将它们放入 .use 语句中的顺序调用。为了传递错误,每个错误处理程序都必须执行 next(err)

摘自 expressjs 文档:

app.use(logErrors)
app.use(clientErrorHandler)
app.use(errorHandler)

作为文档中的示例:

function errorHandler (err, req, res, next) {
if (res.headersSent) {
return next(err)
}
res.status(500)
res.render('error', { error: err })
}

因此,错误正在使用 next(err) 语句从处理程序传递到处理程序。在该处理程序中,您决定要做什么。例如,您可以检查特定错误并仅针对该特定错误采取行动。

expressjs documentation for errorhandling

关于javascript - Expressjs 如何决定调用哪个错误处理程序。如果我们有多个错误句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56697551/

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