00:00
好,到这里呢,我们的修改表格的代码呢,就已经没有问题了啊,那我们呢,单单是把它给跑通还是远远不够的啊,我们呢,需要再来看一下它会有会不会有什么啊别的一些问题啊,其实呢,它还是有的啊,那根据我们上面这个创建表格的一个啊异常的一个处理,为了让它呢看起来更清晰一点,那我们提前呢,也加一些判断啊,也需要来加一些判断,好这个加的判断呢,我们同样加在哎所有的这个修改表格的操作之前,那首先呢,修改表格就会有一个显而易见的问题啊,什么问题呢,你这个对应的。这个呃,表格呀,它是不存在的啊,咱们来测一下啊,你写一个STUDENT11我们来运行。随便写一个表格名啊,这里呢,不管是表格名还是啊命名空间名还是表格名啊,如果不存在的话呢,你都是没有办法去修改的,那相对应的它都会报一个错误对吧。咱们来演示一下。
01:10
好,这里呢,它会报一个错误对吧,叫table not found exception啊这个表格呢,找不到,这里呢,我们也可以看到,如果他报一个表格找不到的话呢,它这底下呢,嗯,就不再去打印一个其他代码了,看到了吧?啊,他也他也没有打印这个其他代码啊,说明呢,咱们的异常处理啊,没有把它给包含进去,你需要去来处理一下,点到这个地方啊,它是在in.get disco的时候就已经报错了。看到了吧,哎,叫获取之前的表格描述的时候就已经报错了啊,就已经报错了,好,那说明呢,我们在最后进行异常处理的时候啊,你还是还是那个问题对吧,不能够草率的。很早的就把这个东西啊给它抛出去,而那个问题啊,你如果在第一行代码数据里抛出去,那么接下来的代码哪个地方报异常了,你就不知道了啊,你就不知道了,我们可以看到它不仅仅在这个地方,如果出现表格不存在,它会报错,事实上呢,在最早你去获取这个描述的时候,如果表格不存在,它就已经报错了啊,已经报错了,那你呢,对应是不是应该哎,提前进行一个处理啊啊当然你也有一个办法啊,就是源码里面也喜欢这样去写啊,把那个拆开器呢,写的特别长,把这些呢,全部给它封装进去啊,那这种方法呢,也是可以的,对吧,也是可以的,只在外面呢,写上获取关闭连接。
02:29
就可以了啊,那这里呢,咱们可以把它给都放进来啊,叫剪切啊,都写到这个拆开器里面啊,那这样呢,也是可以的啊,也是可以的,我们可以呢,在拆开里面都给你放进来啊,我们这里呢,也可以给他打印一条对应的信息,就是表格不存在对吧?啊,表格不存在,但事实上这个表格不存在啊,我们没有必要专门要在这个里面去打印,还记得吧,我们上面有这么一个方法,叫判断表格是否存在,我们可以采用五门的方法呢,先提前来进行一个判断啊,咱们来写一下叫。
03:02
判断表格,嗯,表格是否存在啊,叫if。Is table exists啊,填上name space和table name啊,如果这个地方它为true的话呢,那就是存在对吧?啊,如果它为true的话就存在啊,啊如果false的话就不存在,那你点一个感叹号啊,如果它不存在的话呢,这里呢,咱们写叫直接return啊,直接return啊。好,对于这个地方啊,哎,有的有的同学可能说那老师你这个地方如果表格不存在啊,它不是还是会报一个异常吗?啊那这个呢是正常的,哎,你想一下,我们在调用户再去调用这个表格是否存在的时候啊,在调用这个表格啊,进行修改的时候,你你是不是用户应该自己去呃进行一个判断,说这个表格呃是否是否存在对吧?啊,你应该写到外面啊,这个地方异常我们是应该抛出去的,我需要修改一个表,对吧?啊,我需要修改一个表啊,那这个呢,我们应该是给它抛出去的啊。
04:04
好,对应的,我们就这样来写啊,你应该在调用的时候,这个地方在调用的时候,其实上面这个方法也一样啊,在调用的时候你应该自己去写啊,来判断这个表格呢,是否是存在的啊好,我们来去运行一下。我们的这个HPAPI啊,相对呢,比较底层啊,我在最开始做异常处理的时候也给大家说过了啊,嗯,没有一种标准的方法啊,全部呢,都取决于你觉得哪种东西更加合理啊呃,你如果觉得这个修改表格它这个地方啊,它应该提前进行一个处理的话呢,那你是应该在前面的地方啊,就给它加上对应的一个处理对吧?我们这里呢,如果它不存在,直接给它return啊,也是可以的啊,也是可以的,就不再抛异常了啊,有问题就直接return啊,判断表格是存在对吧?如果表格不存在,直接return啊嗯,它对应的应该你也可以在这个地方去给他打印一条消息啊,这个就无所谓了,叫啊。
05:09
表格已经存在,表格不存在啊,无法修改。不存在啊,无法修改对吧?啊,可以给它加一个打印信息,好,那这个呢,就是我们异常处理的一个介绍啊,相对还是比较开放的啊,大家呢,都可以有自己的一个处理的一个方法啊。
我来说两句