import type { Request, Response, NextFunction } from 'express'; import { AppError } from '../errors/app-error.js'; import { sendError } from './response.js'; export function errorHandler(err: Error, _req: Request, res: Response, _next: NextFunction): void { if (err instanceof AppError) { sendError(res, err.statusCode, err.errorCode, err.message, err.details); return; } console.error('[ErrorHandler] 未预期的服务器错误:', err); const message = process.env.NODE_ENV === 'production' ? '服务器内部错误' : err.message || '服务器内部错误'; sendError(res, 500, 'INTERNAL_ERROR', message); }