在Node.js中捕获一个空错误的路由可以使用try-catch语句来处理。下面是一个示例代码:
const express = require('express');
const app = express();
app.get('/user/:id', async (req, res) => {
try {
const user = await User.findOne({ id: req.params.id });
if (!user) {
throw new Error('User not found');
}
// 此处是处理用户存在的逻辑
res.json(user);
} catch (err) {
// 处理错误的逻辑
res.status(404).json({ error: err.message });
}
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
在上面的示例中,当User.findOne
返回空值时,我们抛出一个错误并在catch块中处理该错误。在错误处理程序中,我们将错误消息作为JSON响应发送给客户端,并设置状态码为404表示用户未找到。
请注意,这里假设你已经正确地设置了User
模型和数据库连接。