"""全局异常处理器:捕获未处理异常,返回统一格式。""" import logging from flask import jsonify from insurance.utils.response import ErrorCode logger = logging.getLogger(__name__) def register_error_handlers(app): """注册全局异常处理器到 Flask app。""" @app.errorhandler(404) def not_found(e): return jsonify({"code": ErrorCode.NOT_FOUND, "message": "资源不存在", "data": None}), 404 @app.errorhandler(405) def method_not_allowed(e): return jsonify({"code": ErrorCode.PARAM_ERROR, "message": "请求方法不支持", "data": None}), 405 @app.errorhandler(500) def internal_error(e): logger.exception("服务器内部错误") return jsonify({"code": ErrorCode.SERVER_ERROR, "message": "服务器内部错误", "data": None}), 500 @app.errorhandler(Exception) def handle_exception(e): logger.exception(f"未处理异常: {type(e).__name__}: {e}") return jsonify({"code": ErrorCode.SERVER_ERROR, "message": "服务器内部错误", "data": None}), 500