e-scooter-rental-system/server/middleware/errorHandler.js

37 lines
780 B
JavaScript

// 错误处理中间件
const errorHandler = (err, req, res, next) => {
console.error('错误:', err.message);
// MongoDB 连接错误
if (err.name === 'MongoError' || err.name === 'MongooseError') {
return res.status(500).json({
success: false,
message: '数据库错误'
});
}
// 验证错误
if (err.name === 'ValidationError') {
return res.status(400).json({
success: false,
message: '数据验证失败'
});
}
// 404 错误
if (err.name === 'CastError') {
return res.status(404).json({
success: false,
message: '数据不存在'
});
}
// 默认错误
res.status(err.status || 500).json({
success: false,
message: '服务器内部错误'
});
};
module.exports = errorHandler;