00:01
各位。刚才呢,我们演示了全局异常处理,那下面呢,我们来演示特定异常以及自定义异常处理,那首先我们先演示特定异常处理,也就是说针对特定异常做不同处理,比如说控制帧异常,我们做这个处理,数度下标越界异常做另外的处理,那咱们做演示,首先啊,我把服务器给它重启一下,因为咱们刚才加了这行就是异常的输出,咱们先看一下当前出现的是什么异常。然后根据它做一个特定处理。然后咱们启动了,启动之后,我把刚才这个再来做一个发送。结果跟刚才没有什么区别,然后咱们看控制台的输出,大家看。这里边是不是出现了一个异常,就是零不能作除数摆这个轴,那我下面写一个特定异常处理,跟刚才基本上是类似的,我写到这个位置啊。
01:01
特定。异常处理,那怎么做,加上一个方法,然后咱们比如说还叫这个A。在里边把异常我们给它做一个输出,异常呢,就是我们看到的这个异常,我把这个复制一下。再加个E啊这个异常,然后把异常做一个输出。并且返回。相同格式的数据结果,比如我们写一个执行的这个特定异常处理。之后呢,在方法上面加上注解,跟这个基本一致,区别是什么呢?就是这个部分咱们加上当前异常类的,这个就叫特定异常处理,所以现在我们就完成了,而这过程中,当我们执行。或者说以访问我们的一个程序,他会怎么执行呢?大家应该能想到啊,首先他怎么做,先找你的特定,如果发现有特定异常就执行特定,如果发现没有再执行全局,就是先找有没有特定,有特定那就先定执行,没有的话那都去执行全局异常处理,那咱看一下目前的效果啊,我把服务器已经启动了。
02:21
然后到里边,我们现在发送。大家看执行了谁,是不是特定异常处理,所以以上咱们把第二个就完成了特定异常处理,这个之后呢,下面我们再写第三个,咱们看一下啊,第三个是什么叫自定义处理,那这个呢,给各位我这里来做演示,咱这个该怎么去做。我把步骤给大家写到这里啊,什么叫自定义,大家注意啊,就是这些异常是系统抛出来的,而咱们现在的异常需要咱们手动定义,手动进行碰出,那咱们看怎么来做,我写一下步骤啊。
03:01
首先第一步我们需要创建一个异常类,就是你给你异常啊起个名字,比如说我叫硅谷exception,或者叫什么ion等,这是第一部分,然后这个之后让这个异常类么继一个类,这个类是什么呢?各位应该都啊,它叫做runtime exception。咱们看一下这应该都见过啊,叫什么运行时异常,这是我们的第一部分,编写一个异常类继承exception,然后这个之后我们的第二步就是在这个异常类里边添加上相关的属性。我们的属性呢,一般是两个,一个是异常的状态码。还有一个是异常的描述的信息,咱们把这个加上,加上之后生成它的get set,有无构造等内容啊,这咱们来生成,然后之后我们的第三步怎么来做呢?在咱们出现异常的地方。
04:10
手动抛出这个异常,因为它不会自动出现,需要咱们手动给他抛出来,这是第三步,这个之后我们还有最后一步,也就是第四步,第四步怎么做呢?在我们就是之前创建的那个异常类里边,咱们添加上一个执行的方法,也就说我们刚才啊,咱们写全局,写特定,在里面是不是加了方法,这个时候咱需要再加方法,而这异常就想咱们那个自定义异常的这个类。这是我们自定义异常的实现过程,按照我们最终可以进行实现。这个咱做一个分析啊,然后分析之后下面呢,按照这个步骤,咱把代码我们具体写一下,最终把效果做到。那我们来看一下啊,这些我先都给它关掉啊。
05:03
首先第一步,我在这个service里边,我们个异常类,这个类的名字随便我就叫硅谷。Exception。硅谷把这个创建,然后创建之后让它继承个类,叫做runtime exception,这是我们的第一步,然后之后在这个里边加上相关的属性,因为异常嘛,不外乎就是状态和信息等等,就加两个第一个。Code代表异常的状态码。第二个加一个private啊,咱们加一个叫,为了跟那个区分,我叫就是你的描述的信息,比如说成功失败等等。然后之后生成他们的get set方法注解这个date加上之后,为了咱们操作方便,我想它这个就是有参的构造方法写下啊。
06:10
硅谷exception。然后在里边加上它的属性,呃,第一个是扣的。第二个是MSG。为了区分啊,当然你可以叫message也可以啊,为了区分我就叫M,然后在里边加上内容,首先啊,Super叫它类中的那个message啊,它那个信息。给他就是啊,给他。做一个调用,然后之后呢,我们再给它做个赋值。等于这个扣等。另外就是M。现在啊,这就完成了。包括还有什么two润等等,我从里边就复制了啊,比如这里边有个two方法,当然我课件中里边还有一个方法,也是一个构造,它里边传的是一个枚举类型,但是写法是类似,我把这两个咱就拿过来了,看你喜欢用哪个,但是结果都是一样的,都能最终把结果输出。
07:12
这个啊,加上一个。You like。啊,然后我这个是那个M。现在啊,这个异常类咱们就完成了,然后完成之后下一步怎么做呢?按照我刚才说的步骤啊,在你出现异常的地方,手动抛出异常什么意思,来到CTRL里边,刚才我这个位置找到啊,这里是不是异常,那怎么做,咱们加上一个try catch这么一个结构,这结构各位应该很清楚啊,我这里不再多说了,这属于Java的基础知识啊,加个try catch。然后把代码放到在里边,当它出现异常开是不是能捕获到,在这里边咱们手动抛出这个自定义一场,那我来抛一下啊,加上一个子肉妞,一个硅谷。
08:08
Exception里边传入,比如咱传个状态码,假如我传一个20001啊,或者说你传那个枚举类也可以啊,我就传这么一个,然后第二个几个提示。说。执行了自定义异常处理。现在这个就完成了,手动抛出异常这个异常,然后最后在咱们这个类里边加上这个方法啊,这个方法我用它快速改一下啊。自定义。异常处理,然后这里边。所以说加什么应该很清楚啊,是不是加这个。硅谷啊,这里边是硅谷,然后这有它相关个信息啊,包括相关的这里写一下啊,因为咱们是这里边手动抛出第一个状态嘛,第二个信息,所以咱把它补充完整。
09:03
我这里啊,重新写一下。点第一个,我们点上一个叫code,通过里这个叫get code,把咱们刚才写的就是这个给它得到变为零一,然后第二个有一个叫。Message啊,咱可以得到。现在这就可以了,所以以上啊,把自定义异常处理我们就完成了,就是自己写一个异常类,然后手动抛出,让他抛出我们自己的这个异常。这个咱就写到这里,之后我们把服务器启动,最终做个测试。试一下最后的结果怎么样啊,我这里边已经手动给他抛出来了。也就是这个子肉妞这个异常。然后大家看啊,现在启动了啊,到这里边我再点这个发送。
10:01
各位看结果啊,很明确,状态码是多少?20001执行了自定义异常处理证明我刚才写的异常处理类就真正生效了。所以以上呢,我们演示这些就是关于统一异常处理的时间,包括全局异常处理,特定异常处理以及自定义异常处理。
我来说两句