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

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

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

错误处理中间件:

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

拥有RequestDelegate,操作更加灵活

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

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

异常过滤器:

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

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

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

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

相关推荐
熙客2 天前
Kafka:专注高吞吐与实时流处理的分布式消息队列
分布式·中间件·kafka
9ilk2 天前
【基于one-loop-per-thread的高并发服务器】--- 前置技术
运维·服务器·c++·笔记·后端·中间件
小坏讲微服务3 天前
五分钟使用 Docker-compose搭建 Redis 8.0 中间件
运维·redis·docker·中间件·容器·kubernetes·k8s
熙客3 天前
RabbitMQ:灵活路由和高可靠的消息队列
java·中间件·rabbitmq·java-rabbitmq
9ilk4 天前
【仿RabbitMQ的发布订阅式消息队列】--- 前置技术
分布式·后端·中间件·rabbitmq
9ilk5 天前
【基于one-loop-per-thread的高并发服务器】--- 项目介绍&&模块划分
运维·服务器·c++·后端·中间件
fyakm5 天前
中间件的前世今生:起源与发展历程
中间件
qqxhb8 天前
系统架构设计师备考第61天——嵌入式系统架构模式&操作系统&数据库&中间件
数据库·中间件·系统架构·sqlite·dds·层次化(封闭/开放)·递归模式
9ilk9 天前
【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
c++·笔记·分布式·后端·中间件·rabbitmq
忧郁的蛋~10 天前
ASP.NET Core中创建中间件的几种方式
后端·中间件·asp.net