异常分类和层次结构

本文讨论了异常处理的层次结构,方法之间的异常传递以及全局异常处理的重要性。在API开发中,异常分为用户行为导致和服务器自身错误两类,需分别进行日志记录和错误反馈。全局异常处理采用AOP思想,通过重写框架异常类实现自定义错误格式。异常分类通过自定义BaseException基类来区分需向用户反馈和仅需记录的日志异常。
摘要由CSDN通过智能技术生成

  异常是分层次级别的,方法1,2,3代表异常层级。假如是方法3调用方法2,方法2调用方法1。



 当方法1出现异常时,首先方法1会捕获异常try catch,接着方法1的代码会决定怎么处理异常(记录日志,或者修复异常假装没发生,或者返回客户端错误)

假如不想处理异常,可以抛出去给方法2,方法2继续往上抛,也可以处理不处理,也可以往上抛。

如果能够在服务器内部正确处理异常,并且把异常纠正过来之后返回客户端正确相应结果当然是好的,但是绝大多数情况下,流程就是不正确的了,没有办法返回正常的相应结果。这时候就需要返回一个异常信息告诉服务端,我哪里出错了。

1:假如我在方法1捕获异常,我处理了,但是按照理论,我要逐一往上抛错。每一个方法要去捕获处理下面的方法抛的异常。这样代码是很繁琐的,而且我们经常遗漏捕获的异常。

2:有些异常我们是不能提前预知,或者由于经验缺失我们没有预料到这种类型异常错误。我们不会trycatch捕获,但是又是侯不trycatch 会造成程序崩溃,这样不好的。不捕获就会一直存在。没有捕获就不去处理,不去处理就一直存在。

对于这2个情况我们需要全局异常处理。对于我们API2件事情必须要做1.记录日志2.要有统一错误返回格式(错误码和错误信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值