00:00
然后的话呢,大家你看也发现一个问题。什么问题呢?就是我这个文件啊,你看确实是不存在啊,它确实不存在呢,咱们去执行的时候呢,它确实出现异常了,然后呢,就在这里边打印一个print sta,好像这个目前的情况呢,有点像咱们写的一个运行时异常一样,你现在来看的话呢,是不是一点事没有,但我们要执行的话呢,它要真的有异常,还真就爆了,相当于在这个运行的时候呢,就给爆出来了,而本身咱们运行时的这个异常本身是不是就相当于是这个样子。包括呢,咱们刚才那会儿看这个操作的时候,大家呢,也有同学发现了,就是呃,看看它吧,也有同学发现了,就是说我们这块呢,加了一个拆开Che,然后你这出了一个除零的操作,我我用的这个叫print sta这样写的哈,Print sta这块一除,确实呢是除零了,执行一下。执行下啊,报了一堆这个信息,哎,这好像呢,跟咱们一开始讲这个常见异常的时候,咱们这块呢,这不都没有处理异常吗?这一常都没有处理的时候呢,咱们跑一下好像也是这个样子。
01:12
只不过呢,这块你看它会稍微简陋一点,你要是这个用咱们没方法去做的话呢,它显示的信息会稍微多一些啊,就是也会出现这样的一个信息,想说明一个什么问题呢?就是实际开发当中,像咱们这个运行时的这些异常本身它也不报错,我们呢可以去给他做track开去处理,但是处理完以后呢,你发现好像跟没处理呢,也差不太多,咱们因为也通常都会写这个叫print sta还是爆了一堆红嘛。所以说呢,咱们开发当中对于运行时异常,实际上呢,咱们就不去拆开式去处理了,就是你去跑这个程序,比如咱们想写那个项目二是吧,一跑出现了一个控制异常,那你说出现控制异常,你接下来要干什么呀?你就回过来加叉开始吗?加TRY开,那也不对啊,是吧,你肯定过来是不是要改那个代码就啊,那你要一开始的话呢,把你整个这个代码放在这,我加了一个TRY开,加了TRY开,你开里边写的print,一运行实际上还是保证那样一个情况是吧,也就是说对于运行是异常,咱们实际上大家在开发的时候呢,就不用考虑去TRY开处理了,就正常让他跑就完了。
02:27
但是对于咱们这个编译是异常。我就一定需要给它拆开池了,因为你要不拆开池,它这个编译是不是都过不去啊,哎编译过不去,你就更别说运行了,哎编译过去了,然后呢,我们这个文件呢,假设还真实的存在,那这个程序呢,就顺利的就执行完了,那你要是不存在,不存在的话呢,它这个运行时就出错了,咱们上午的话呢,最后这不是说了一句话呢,就是这句话说呢,咱们用TRY开这finally呢,去处理运行时异常,那使这个程序呢,在编译时呢,就不报错了,但是呢,咱们实际上是把这个可能会出现这个错误呢,延迟到运行时出现了,相当于呢,我们用check开方,把一个编译时异常变成了一个运行时异常,那人家要本身就是个运行时异常,你加find拆开find是不是就没有用了呀,对,所以这呢是咱们的这个叫体会一啊,然后体会二,哎体会二什么呢?就是开发中这个由于由于什么呢?这个运行是异常。
03:31
啊比较常见,而且呢,咱们也不知道它有没有运行时异常,因为它编译它也不报错呀,只有咱们真正跑起来你才知道啊,由于运行是异常比较常见的,所以呢,哎,我们这个通常。哎,就不针对不针对这个运行时异常这个编写才开始犯这个了。哎,这是这个情况,呃,然而的话呢,我们针对于叫编译式异常,哎,我们说呀,哎一定要考虑异常的处理,因为呢,你要是编译是异常,你还不处理,那编译都过不了了,编译过不了你就更别想去运行了,自己码文件都生成不了,诶所以这个呢,大家也去体会一下。
04:22
啊,就是咱们比如说写个项目写完以后的话呢,这个你一看这边都没有叉,这时候大家其实你也不用去考虑这叉开始了,因为他要你要考虑的话,它可能出现在异常的位置,那太多了,凡是你看到一个点的位置呢,前面都有可能是一个控制帧,那再加上其他的一些异常,那这个代码呢,会看的就很臃肿了,也所以说对于运行是异常呢,通常咱们后边呢就不处理了,通常不处理,但不是说不能处理啊,咱们上午说那个error是咱们不能处理的,做不了处理了没有用,GM都挂了是吧,那个是处理不了,这个呢是可以处理,但是咱们一般不处理,嗯,那个编异性异常呢,是一定要处理的。
05:01
哎,这个大家呢,去体会一下这样一个问题。
我来说两句