00:00
下面呢,咱们继续来看这个统一异常处理,刚才咱完成了选举异常处理,那下面呢,我们来看第二个内容,第二个内容是什么?它叫做特定异常处理,那什么叫特定,给各位说明啊,比如说我们刚才出现异常,是不是这个异常零不能做除数,那我针对这个异常,比如说我做一个输出,说你的参数不对。这个时候呢,又出现第二异常,假如说第二异常是控制针异常,那我们针对控制帧,比如在做另外一个提示,就是针对不同异常做不同处理,这个叫特定异常处理,那这个怎么做,给各位来说一下啊,就这过程应该很简单,各位同学应该看到这个代码,应该能想到他怎么去做。那大家想一下这怎么做?首先我说明啊,咱的做法就是你把这个方法可以再复制一份,然后把里面的异常改成咱们的特定异常,是不是就可以了,这就叫特定异常处理,就这么来做,用它可以直接实现。
01:06
我写一下啊,特定异常处理。然后这个写完之后,在这过程中啊,有个小问题大家看啊,比如说我现在这里边既有全局又有特定,而咱执行的时候,他是执行全局还是特定。还是两个都执行,还是有一个先后顺序,到底它会是怎么样的呢?咱们试一下这个效果啊,为了明显。我在两方法中分别做一下输出,这个叫全局。下面这个叫特定都输出一下,为了咱们看的更明显,它到底是怎么样的。现在我给他都完成了,然后把服务器咱给他重新启动一下,看一下最后的结果到底是怎么样的,就最终到底是怎么执行的,首先这个特定和那个执行,它是指执行特定还是两个都执行,还是有先后顺序。
02:05
等他执行啊,现在启动了,咱们试一下啊刷新。找到查询所有讲师在里边执行。大家看啊,效果执行了特定的,然后咱看里边的输出是怎么样的,这句话是不是只输出的特定,别的就没有输出,所以证明过程就是这个效果,通过它咱也能总结出来的一个特点啊。什么特点,当我有异常出现,他到这个方法就这类中找一下,有没有针对我这个异常的方法,如果有的话,这方法执行,如果没有的话,那再去找全局进行执行,因为目前有这个异常的方法,所以他就最终执行了,这就叫特定异常处理,这咱们就演示完成了,各位把这个知道。然后这个之后还有最后一个叫做自定义异常处理,什么叫自定义?就是咱们自己写异常,自己来做处理,自己进行相关的实现,这个叫自定义,那最后咱们说自定义异常处理到底该怎么样实现?
03:14
首先把步骤在里边给各位,咱们先写一下啊,咱们看第一步操作,第一步怎么做,你要创建一个自定义异常的这么一个类。就是你的异常叫什么名字,要建个类,然后让这个类呢,需要继承你的这个异常,咱一般继承都是这个异常叫runtime exception。这各位都知道是不是运行式异常,另外还有什么变式异常,咱们记常运行式异常,这是第一步,然后第二步在我们的自定义异常的类里边,我们来创建它的属性。属性里边,比如说有你的状态码,有你里边的这个就是相关的信息,这是我们的第二步,然后这个之后我们的第三步,在全局那个异常处理类里边添加上你自定义异常处理的方法。
04:11
这句话什么意思呢?大家看啊,我刚才这个类里边是不是有两个方法,一个全局,一个特定,如果你在有自定义,那还是见过方法这个异常,改成你自定义那个类的名字,这是它的第三步,然后除了这个之外,还有第四步,也就是最后一步。第四步是什么呢?咱们需要手动来抛出你的自定义异常,因为这个异常不会手动。就是不会自动出现,咱们需要手动把它才能抛出去,它才会知晓,这是咱们一个基本过程,以上是步骤的分析,下面呢,我们就按照这个步骤把这个定义异常,最终做个实现,那咱们看一下这个过程啊。首先在exception里边,我先创建一个异常类,咱们来写一下。
05:05
这个类就是硅谷课堂。Exception。创建,创建之后继承runtime exception。然后继承之后,在里边我们加上属性,咱就加两个属性,第一个它的状态码咱们叫扣,然后第二个里边的异常的信息。这个信息我叫MSG,在类上边加上它的注解,这个date。另外咱再把它那个有参和无参构造的注点给它也都加上。现在这个自定义异常类我们就完成了,完成之后咱们来到全局这里边加上执行的方法,我把这个复制一下,咱们给它快速改一下。快速改一下啊。
06:03
自定义异常处理。然后在这个里边把这个异常的名字改成咱们自定义这个类的名字,最后我做输出执行了这个自定义异常处理,所以现在这个步骤就完成了,完成之后还有最后一步,因为这个异常呢,它不会自动抛出,需要咱们手动抛出去,所以我最后在代码出现异常的位置,咱们加上一个try catch,把异常给它捕获一下。我加上exception。然后在里边把出现异常代码放到TRY里边去,当有异常出现,Try catch捕获到,在这里边咱们手动抛出这个异常。怎么抛出去,大家想一下怎么做,是不是加上一个子肉妞上一个。
07:01
硅谷课堂加上状态,比如说加个201,然后他的信息我就写一个执行了自定义异常处理。我们是。硅谷课堂except现在就完成了,这是咱们一个自定义异常处理的实现,然后这么写的话呢,里面一个小问题,各位注意啊,我刚才这方法中,这位置是不是写固定了,而这些信息是咱可以通过抛出手动态传过来,包括状态嘛,包括信息都可以动态传过来,你这么写是写固定的,咱们给他稍微改一下啊,怎么改用这个里边的方法。MSD得到你的信息,然后再点上一个code。用里边的方法get code,把状态码得到,这个状态码和信息是你手动抛出手传过来的两个值,最终咱们把它返回就可以了。
08:01
所以说以上就是自定义异常处理的过程,咱们就最终认出来了。实现之后我把服务器重新启动。试一下它最后的效果到底是怎么样的,我们等它启动,然后用swa试一下啊,这是我们最后这个内容统一异常处理的部分。等他先执行。现在可以啊,来到索阿格里边刷新。然后执行。咱们看最后的结果,你看这里啊,执行了自定义异常处理硅谷课堂exception是不是就可以了,所以现在这个就完成了啊,也就说以上咱就把这一天的这些内容都做到了,咱们重点做的是讲师管理后端的接口查询,所有讲师删除讲师条件查询分页。添加修改这样删除,包括里面涉及到统一返回结果,还有咱们刚才说这个统一异常处理,就是各位把这些功能都要给它能准确筛出来。
我来说两句