00:00
哎,这个咱们跑一下试试啊。嗯。嗯,来一个杰克。先不测那个重复的啊,咱们先去看那个去最后一页这事。那结课。捷克斯洛伐克。哎,直接去最后一页,正好这一页就他自己啊,直接看到了。那如果说这是重复的。后边瞎写一个吧,是吧,反正也那啥走。我去。这是H5哈,H上面五就有这个心得性哈,你这不你不不那啥,他这边会有提示,哎呀我去。
01:00
害怕吧。人家是按我们设想的执行的,是说这个重复以后就抛异常了,但是这个抛一常抛的有点吓人。其实一方面是他来的是这个,呃,系统的错误的页面,他没有去我们这个表单的页面,另外一方面他抛的这个异常吧。让用户看到这个的话,这个体验太差了,应该给一个提示说你账号重复了。哎,不应该做这个,所以说呢,我们这儿吧,得调整调整。哎,大家看啊。嗯,我们实际上抛的这个异常是谁哈,实际上抛的异常是。这个异常。哎,我看看啊。嗯。嗯,不是这是登录以后的这个啊。在这儿,这是error updating database,然后duplicate entry cost,对这个呢,你看course哈,表示是原因。
02:05
这个是原因,这个还不是说我们真正捕获到的那个异常,真正捕获到的异常呢,还不是他这个我们得看一下啊,现在如果我们自己去对这个代码拆开试一下的话,它捕获到的异常是具体是哪一个异常?就这一步哈,咱们去,咱们自己手动拆开一下。Sorrow的with。开始。嗯。这他这个打印呢,其实就已经能够说明问题了,咱们再自己再打印一下啊,咱们这儿也来一个logo哈。Log。等于factory。点。
03:00
Get。嗯。点咱们来个。In吧,第八个怕打印不出来。嗯,来一个这个。异常的前面。一点。Name。来咱们看一下。咱们几点上的课我都忘了。我们刚上课是吧。
04:03
就越有幸福力是吧?怎么,哦,对了,它为什么过了哈,因为我们这拆开了,这边有异常呢,抓住了没有往外抛。哎,没有往外抛,这个问题发生了,但是被掩盖住了。是吧,所以说这边就就过来这边了哈,我们就看控制台的这个打印哈。这是人家那个,呃,一点就这一部分红的,红的是他打印的,哎,红的是他打印的,我们看看也可以哈。其实我们关键时期看这。这是spring的,你发现没有?哎,Three给检测到这个事儿了,他说,Duplicate key entry,这这,这个指向性很强。哎,就重复的建的这个异常。然后呢,我们这个打印呢,异常的全类名看一下啊,也确实是他补货到确实是他,那么这个时候呢,咱们就可以,呃,针对这个异常呢,咱们来处理一下啊。
05:11
如果我们捕获到这个异常。哎,我想想啊。嗯。如果我们补合到这个上,就我们到这儿来配一下哈。这再多一个。对,以前我们有没有一个类似的。没有哈,对,咱们就。直接就整一下他。嗯。嗯。哎,我忽然间想到一个问题哈,就是。这个吧,这个这个异常是在什么时候发生的哈,就是说这个。呃。只要他检测到你违反了违约束的时候,就会去抛这个异常,但是呢,违反违约束未必就一定是login account。
06:07
未必是他违反的,也说不定别的表有别的字段也加了违约数,所以说呢,你每次抛这个异常的时候,你都告诉人是账号重复了,这个就有点儿。有点,怎么说呢,呃,不太对应。哎,不太对应了,所以说呢,所以说在这儿吧,咱们其实应该是这么干哈,就更精确一点啊,更精确一点,在这儿咱们适当严谨一点。就是说呢。我们。在保存保存admin的时候,如果发生了w key exception,这个基本上咱就可以确定是log count的问题啊,所以说在这咱们专门抛一个自定义的异常。这个呢,叫做login account。Exception。
07:03
这就更精确了。Run time。Conception。诶。拿过来直接构造器。好,嗯。这是我们说检测。到登录账号。嗯。应该这么说哈,就是说保存它的面食。保存或者更新的时候。保存或更新min时。如果检测。到。嗯,登录账号重复跑出这个异常。
08:02
大家看我这写更新din的时候。会不会有点奇怪?更新的时候也会重复吗?假设现在有这么几个账号啊。叫一个汤姆一个杰瑞,现在呢,你更新的是汤姆,你把汤姆改成杰瑞了。你更新的时候,你把他们改成杰瑞,这不是重复的吗?啊,所更新的时候也有这个问题,哎,所以到时候咱们也抛这个异常。嗯,那这个时候呢,咱们创建一个自定义的异常,哎,如果捕获到的这个异常呢。咱们别那么武断,因为这个操作抛异常未必就是这个异常,万一你要是说搜狗语句写错了是吧,等等,也有可能别的问题,咱们判断一下。Instance of duplicate。诶。这咱们就很严谨了啊,如果判断是这个异常的类型,那么咱们就抛一个。
09:02
哎,我们自己自定义一个log account or ready in your exception。再尿一下哈,我怎么老忘了尿呢?哎,这个消息呢,就是用我们这个以前这个叫做message。Already in your,这个哎,这个咱们都准备好了。这样一整,然后呢,针对这个异常,咱们再去配这个。异常的处理。这个复制一下啊。来,让我们去的这个地方,把他们艾特好了,哎,就行了。嗯,这回咱们跑一下啊,看看这个效果怎么样。
10:00
实际都一定要以测试为准啊,我们脑子里边想的东西,有可能有些地方考虑不周全,所以说我们得去实际测试看这个效果。嗯。用户维护过量新增。找一个重复的吧,汤姆哈,后边其实填不填无所谓哈。抱歉,这个账号已经被使用了是吧,诶我们就是要这么一个效果。
我来说两句