📅  最后修改于: 2023-12-03 15:12:57.791000             🧑  作者: Mango
默认错误处理程序是Express的一部分,负责处理未被其他中间件处理的错误。如果应用程序中没有其他错误处理程序,它将捕获全局错误。
默认错误处理程序是Express的一部分,无需安装即可使用。
Express的默认错误处理程序可以捕获所有未处理的异常。要使用默认错误处理程序,只需要确保在定义路由之前使用它:
const express = require('express');
const app = express();
//定义路由之前
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something broke!');
});
//定义路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
//启动应用程序
app.listen(3000, () => {
console.log('Example app listening on port 3000!');
});
以上代码将在未处理的异常发生时立即捕获它们,并返回一个错误消息。
err是错误的对象。它包含有关错误的信息。常见的是它包含错误消息,错误堆栈跟踪和http状态代码。
req是一个请求对象,包含有关当前请求的信息。
res是一个响应对象,可以用于向客户端发送响应。
next是一个函数,用于在中间件中传递控制流。在默认错误处理程序中,它用于将控制流传递给下一个中间件或路由处理程序。在此示例中,它将传递控制流给Express的下一个错误处理程序,如果有的话。
默认错误处理程序不应该是你处理所有错误的主要方式。请确保在应用程序的其他位置添加错误处理程序。默认错误处理程序旨在通过在发生意外错误时执行措施来确保应用程序的稳定性,并在以后进行调试。