import type { ErrorRequestHandler } from 'express'; import { env } from '../config/env.js'; export const errorHandler: ErrorRequestHandler = (err, _req, res, _next) => { console.error(err); const status = err.status ?? 500; const isClientError = status >= 400 && status < 500; // 5xx 在生产环境不回显内部 message(避免泄漏表名/SQL/堆栈);4xx 与 dev 环境保留 const message = !isClientError && env.NODE_ENV === 'production' ? 'internal error' : err.message ?? 'internal error'; res.status(status).json({ error: message }); };