返回顶部
g

gi-error-handling

Handle errors and logging following project conventions. Use when implementing exception handling, adding logs, or when the user asks for error handling patterns with ApiException.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
135
下载量
0
收藏
概述
安装方式
版本历史

gi-error-handling

# Error Handling 错误处理与日志 按项目规范实现错误处理与日志记录。适用于 API 异常、业务错误、日志打点,便于排查问题。 ## 何时使用 - 用户请求「加错误处理」「加日志」「异常处理」 - 实现 API 的异常返回 - 排查问题时需要定位错误来源 ## 异常处理 ### 1. 业务异常 ```python from tkms.exception.api import ApiException # 抛出业务异常,会返回给前端 raise ApiException(code=400, message="用户不存在") raise ApiException(code=401, message="未登录") raise ApiException(code=403, message="无权限") raise ApiException(code=404, message="资源不存在") raise ApiException(code=500, message="服务器内部错误") ``` - `code`:HTTP 状态码或业务错误码 - `message`:返回给前端的错误信息,避免暴露内部细节 ### 2. 参数校验 ```python if not user_id: raise ApiException(code=400, message="用户ID不能为空") if page < 1: raise ApiException(code=400, message="页码必须大于0") ``` ### 3. 资源不存在 ```python user = await self.user_dao.get_by_id(user_id) if not user: raise ApiException(code=404, message="用户不存在") ``` ### 4. 捕获并转换 ```python try: result = await external_api.call() except ConnectionError as e: raise ApiException(code=502, message="服务暂时不可用") except Exception as e: # 记录详细日志,对外返回通用信息 logger.exception("调用外部服务失败") raise ApiException(code=500, message="操作失败,请稍后重试") ``` ## 日志规范 ### 1. 打点位置 - 接口入口:`logger.info("接口名 入参")` - 关键业务节点:`logger.info("步骤 结果")` - 异常:`logger.exception("异常描述")` 或 `logger.error("...")` ### 2. 日志内容 - 不输出密码、Token、完整卡号等敏感信息 - 包含关键上下文:user_id、request_id、操作类型 - 异常时记录堆栈便于排查 ### 3. 示例 ```python import logging logger = logging.getLogger(__name__) # 入口 logger.info("get_user_list", extra={"user_id": user_id, "page": page}) # 业务节点 logger.info("查询完成", extra={"count": len(rows)}) # 异常 logger.exception("数据库查询失败", extra={"sql": sql_safe}) ``` ## 统一响应格式 成功: ```json {"code": 0, "message": "success", "data": {...}} ``` 失败(由 ApiException 触发): ```json {"code": 400, "message": "用户不存在"} ``` ## 前端错误处理 - 根据 `code` 区分:401 跳登录、403 提示无权限、其他展示 `message` - 网络错误:统一提示「网络异常,请稍后重试」

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gi-error-handling-1776359102 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gi-error-handling-1776359102 技能

通过命令行安装

skillhub install gi-error-handling-1776359102

下载 Zip 包

⬇ 下载 gi-error-handling v1.0.0

文件大小: 2.08 KB | 发布时间: 2026-4-17 14:55

v1.0.0 最新 2026-4-17 14:55
Initial release. Gravitech Innovations.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部