当前位置 : 首页 > 文章 > OverallAuth2.0系列文章:全局异常捕获机制详解

OverallAuth2.0系列文章:全局异常捕获机制详解

来源:辣条科技站Gamer发布时间: 2024-10-13 10:00:34


说明

该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。

该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。

说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。

友情提醒:本篇文章是属于系列文章,看该文章前,建议先看之前文章,可以更好理解项目结构。


有兴趣的朋友,请关注我吧(*^▽^*)。





关注我,学不会你来打我


为什么要用全局异常捕获?

对于一个系统来说,全局异常捕获是必不可少的,它不仅可以把异常信息精简后反馈给用户,还能帮助程序员减少解决问题的时间,以及记录系统中任何一处发生异常的信息。


你是否依然有以下苦恼?

你是否还在为怎么记录系统异常日志而苦恼?

你是否还在为系统报错位置和报错信息苦恼?

你是否还在每个接口处增加日志记录操作?

如果你有,那么本篇文章正好可以解决你的难题。



什么是全局异常捕获机制?

全局异常捕获,顾名思义就是系统无论在那个位置发生错误都会被捕获,从而进行处理。


创建接口返回模型

创建一个接口返回模型:ReceiveStatus.cs

它的主要作用是把接口返回的数据、信息推送给前端。

CodeStatuEnum.cs枚举值如下

创建好接口返回模型后,我们创建一个异常帮助类,它的主要用途,是区分【系统异常】还是用户自定义的【业务异常】。


创建全局异常捕获中间件

在wenApi启动项目中创建一个类:ExceptionPlugIn.cs

它的主要作用就是捕获系统中发生异常对代码和记录异常日志。

它需要继承一个接口:IAsyncExceptionFilter

可以在OnExceptionAsync方法中添加记录日志、异常类型、异常分析等代码。


添加到服务中

编写好异常捕获机制后,我们需要把该类添加到Program.cs的服务中


测试全局异常捕获机制

添加一个异常测试接口



运行测试

以上就是全局异常捕获机制,感兴趣的可以下载项目,修改吧。


源代码地址:https://gitee.com/yangguangchenjie/overall-auth2.0-web-api


预览地址:http://139.155.137.144:8880/swagger/index.html


帮我Star,谢谢。


有兴趣的朋友,请关注我微信公众号吧(*^▽^*)。



关注我:一个全栈多端的宝藏博主,定时分享技术文章,不定时分享开源项目。关注我,带你认识不一样的程序世界