统一异常处理
当存在大量方法的时候,如果每一个都单独处理异常,那是一件相当繁琐的工作。组件可以基于过虑器来实现统一异常处理和响应,实现起来也非常简单。
制定异常过虑器
public class CatchException : FilterAttribute { public override void Executed(ActionContext context) { base.Executed(context); if (context.Exception != null) { context.Result = new TextResult(context.Exception.Message); context.Exception = null; } } }
实现Executed
方法,判断当前处理上下是否存在异常,如果存在则返回自定义的IResult
,并把上下文的异常清空,如果不清空组件会对外抛InnerErroResult
设置全局
mApiServer.ServerConfig.Filters.Add(new CatehException()); mApiServer.Register(typeof(Program).Assembly);
添加全局过虑器,必须在注册控制器前添加。
测试
public void Throw() { throw new Exception("hello"); }
以上方法是抛出一个异常,经过过虑器处理后响应结果是:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-09-17 dotnet core高吞吐Http api服务组件FastHttpApi
2014-09-17 azure存储压测的问题(农码主观意识太强被坑了)