错误处理中间件 VS 异常过滤器 net Core

错误处理中间件 VS 异常过滤器

现在,我们已经介绍了两种错误处理的方法------错误处理中间件和异常过滤器。现在来比较一下它们的异同,以及我们何时应该选择哪种处理方式。

错误处理中间件:

可以捕获后续中间件的所有未处理异常

拥有RequestDelegate,操作更加灵活

粒度较粗,仅可针对全局进行配置

错误处理中间件适合用于处理全局异常。

异常过滤器:

仅可捕获Controller创建时(也就是构造函数中抛出的异常)、模型绑定、Action Filter和Action中抛出的未处理异常,其他地方抛出的异常捕获不到

粒度更小,可以灵活针对Controller或Action配置不同的异常过滤器

异常过滤器非常适合用于捕获并处理Action中的异常。

在我们的应用中,可以同时使用错误处理中间件和异常过滤器,只有充分发挥它们各自的优势,才能处理好程序中的错误

相关推荐
李宥小哥1 天前
RabbitMQ02-基础-安装
中间件
李宥小哥1 天前
RabbitMQ01-基础-入门
中间件
源代码•宸2 天前
goframe框架签到系统项目开发(每日签到添加积分和积分记录、获取当月最大连续签到天数、发放连续签到奖励积分、实现签到日历详情接口)
数据库·经验分享·redis·中间件·golang·dao·goframe
眠りたいです3 天前
Docker:Docker Volume存储卷-宿主机与容器的数据双向交流通道
运维·docker·中间件·容器
掘根3 天前
【消息队列项目】客户端搭建与测试
运维·服务器·中间件
yuanmenghao4 天前
自动驾驶中间件iceoryx 构建指南
中间件·自动驾驶·软件构建·iceoryx
smileNicky5 天前
2025 技术创作与实战:深耕数据库、中间件与 AI 应用的进阶之路
数据库·人工智能·中间件
yuanmenghao5 天前
自动驾驶中间件iceoryx-介绍
人工智能·中间件·自动驾驶
Kiyra6 天前
八股篇(1):LocalThread、CAS和AQS
java·开发语言·spring boot·后端·中间件·性能优化·rocketmq
Kiyra6 天前
Spring Boot Starter 自定义开发:封装中间件配置
spring boot·redis·后端·缓存·中间件·性能优化·rocketmq