fix: harden backend stability and test production utilities
This commit is contained in:
20
backend/middleware/error-handler.js
Normal file
20
backend/middleware/error-handler.js
Normal file
@@ -0,0 +1,20 @@
|
||||
function expressErrorHandler(err, req, res, next) {
|
||||
if (res.headersSent) return next(err);
|
||||
|
||||
const requestedStatus = Number(err?.statusCode || err?.status);
|
||||
const status = Number.isInteger(requestedStatus) && requestedStatus >= 400 && requestedStatus <= 599
|
||||
? requestedStatus
|
||||
: 500;
|
||||
|
||||
console.error(`[未处理错误] ${req.method} ${req.originalUrl}`, {
|
||||
message: err?.message,
|
||||
stack: err?.stack
|
||||
});
|
||||
|
||||
return res.status(status).json({
|
||||
success: false,
|
||||
message: status >= 500 ? '服务器内部错误' : (err?.message || '请求处理失败')
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = { expressErrorHandler };
|
||||
Reference in New Issue
Block a user