用途:系统性排查并修复 .NET 应用中的异常处理反模式,覆盖 10 类常见错误:捕获过宽的 Exception、静默吞掉异常、使用 throw ex; 重置堆栈、到处包 try/catch、用异常控制流程、忘记 await 异步、忽略后台任务异常、使用泛型异常类型、丢失内部异常、缺少全局处理器。适用于上线前准备、代码质量审计、安全审查或接手 .NET 代码库。
主要能力:自动检测 .csproj/.sln 并识别项目类型;用 5 个专项代理并行分析后台任务、API 层、服务层、数据层与基础设施层;用 ripgrep PCRE 模式匹配违规,例如 rg -P 'catch\s*(Exception\b' --glob '.cs'、rg 'throw\s+ex;' --glob '.cs';按严重级别分类(CRITICAL 安全、HIGH 可靠性、MEDIUM 代码质量、LOW 风格);生成带 file:line 的 Markdown 报告与修复路线图;将结果存入 .claude/runtime/logs/EXCEPTION_INVESTIGATION_YYYY-MM-DD.md。
使用方式:默认仅调查,命令为 /dotnet-exception-handling <path-to-dotnet-project>;可按严重级别过滤,如 --priority critical;加 --fix-all 自动实现修复。参数:project-path 为含 .csproj 或 .sln 的目录,默认当前目录;--priority 取 critical|high|medium|low|all,默认 all;--fix-all 默认关闭。启用修复后会创建 GitHub issue、建立 worktree、实现 GlobalExceptionHandler 与 Result 等模式、按 TDD 编写测试,并经过三代理评审与验证。
限制:IExceptionHandler 需 .NET 6+;Result 模式面向 C# 7.0+;模式针对 ASP.NET Core,可能不适用于类库。其他细节暂未提供。