浅谈项目内异常处理机制

本文分析了一种在取消经销商分类折扣后导致补货功能显示为空的问题。问题在于API捕获异常但未正确传递错误信息至前端,使得问题难以定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次主要针对代码运算过程中出现的内部错误是如何处理的做一个简单的分析。

首先如果我们代码中如果有错误,一般我们的处理方式就是通过我们定义的ErrorCode码转译得到我们本国语言,能够帮助我们快速定位问题的方向。

但是呢今天有个问题,手机端的一个补货功能出现了一个问题,简单的把问题描述一下吧:

当用户点击补货功能的时候就会把最近20天购买的货物清单按照规则需求规则显示出需要购买的货物能容,这里就不具体描述规则了,接下来说一下这个现象吧,就是当我们在上游把下游的经销商分类折扣取消以后,下游再去点击这个补货功能,发现什么商品也没有了。
以上就是这个功能的现象,遇到这种问题肯定首先应该问问返回报文里面有没有报错啊,可是报文中是没有报这种错误的(我们公司系统有server端和Api端之分),一般情况下api如果内部出现错误api内部机制马上捕捉到这种异常并将异常信息写到报文头首部自定义字段中,这里用错误码。然后返回给server端,server端看到这个异常会根据这个异常信息进行判断下一步如何执行,而问题就出现在这里,由于错误码正常返回,server同时也接受到了错误信息,但是server端并没有吧这个错误返回给前端,就会造成一种假象,没有拉到可以补货的商品是因为系统逻辑的问题,而我们的程序是没有问题的,这样我们就很难发现问题,所以在这里只能默默建议我们的返回给前端值的同时一定要带上我们的错误信息,哪怕是成功的信息也一定要带上。那就要看咱们的返回模型是怎么封装的了。
 
 
ps:关于webapi内部异常处理机制的详细情况可以参考本人博客收藏的c#高级进阶教程。

转载于:https://www.cnblogs.com/chaoshenzhu/p/7373286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值