00:00
来,咱们继续把这个异常的继承结构说完啊说完各位。那么再往下的话,我要给大家说的是什么呢?还是一些理论上面的东西啊。那么编译第二点啊,编译时异常和运行时异常。运行时异常啊,呃,都是发生在运行阶段。编译阶段异常是不会发生的啊。编译时异常,我再强调一下啊,编译时异常我说了很多遍,编译时异常。因为什么而得名?因为编译时异常必须在。编译阶段啊,或者叫编写阶段,预先处理,如果不处理,编译器报错啊,因此得名的啊,因此得名的所有异常要运行都是运,都是在运行阶段,所有的异常发生都在,都是在运阶段发生的啊,所有异常都是在运行阶段发生的啊,因为只有程序运行阶段才可以利对象。
01:18
因为异常的发生就是你对象啊,因为异常的发生就是new异常对象啊,强调一下这个。好了,那这块呢,我们来看看编译时异常和运行时异常的区别,我觉得可以。啊,可以聊一聊这个东西啊,编译时异常和运行日常的一个区别,注意是这样的啊,编译时异常啊。它一般情况发生的概率比较高啊,变异时异常一般发生的概率比较高。
02:02
明白吧,运行时异常一般啊,发生的概率比较低。好了,那。大家想一想啊,大家想一想,思考一下。你比如说我生病了,算不算异常?各位,我我我咳嗽。你明白吗?我咳嗽。算异常吗?算吗?是不是,哎,我咳嗽算异常生病了呀,异常啊是因为什么呀,是因为昨天下雨的时候啊,昨天下雨的时候呢,我没有打伞,我出去了。明白吗?我没有打伞,我出去了。所以我今天我就生病了。啊,就生病了,那我问大家一个问题啊,你在你家里。在你家里呆着,然后呢,在你出门之前,出门之前你预料到了啊,今天啊,这个你你已经知道了是吧,外边正在下雨是不是,哎,那你那你是不是会想到自己要去提前处理一下。
03:07
什么意思?我先拿一把伞。因为我生病的这个概率是不是太高了。生病算一个异常啊,各位。那你会不会提前出门之前拿一把伞呀?会吧。是不是你肯定会啊。来大家看啊,编译是异常,举个例子啊,你看到外面什么下雨了?倾盆大雨的。啊,你出门之前会预料到预料到什么?如果不打伞。我可能会什么呀,会生病。生病是一种异常对吧?那么生病的概率高不高,你出门之前会预料到,如果不打伞我可能会生病,而且这个概率很高,对吧?而且这个。
04:07
异常发生的概率很高,所以我们出门之前要拿什么呀,一把伞。啊,拿一把伞。就是对。生病异常。发生之前的一种处理方式,够抽象啊,够抽象各位,生病了就是一种异常,外面倾盆大雨,你出门之前,你预料到如果不打伞,我将会生病。而且这个概率还很高,所以这个时候你是不是在出门之前。要拿一把伞,而拿一把伞就相当于是什么呀?
05:03
是对生病这种异常发生之前的一种处理方式。对吧,所以这是提前预处理吧,是不是预处理啊。对于异常发生几率较高的程序,要对它进行预,在运行之前对它进行预预处理嘛,是不是哎,在运行之前对它进行预处理啊,就是对于一些发生概率较高的异常啊呃,在需要在什么呀,在编译在编写啊,或者在运行之前。对其进行什么呀预处理。啊,对于一些发生概率较高的异常,需要在运行之前对其预预处理,预处理。概率较高。好,那么接下来我们来看看运行时异常一般发生概率比较低,举个例子。
06:02
举个例子啊,比如说。嗯。小明,小明比较倒霉啊,走在什么呀,走在。大街上。啊,可能会被什么。可能会被天上。呃的飞机。轮子砸到。被飞机轮子砸到算不算异常?被飞机轮子砸到?也算一种什么异常?是吧,但是这种异常怎么着?但是这种异常发生的什么概率较低?就小明走在大街上,可能会被天上的飞机轮子砸到,飞机轮子掉下来了,砸到他了。
07:00
被飞机轮子砸到也算是一种异常,但是这种异常发生的概率比较低。对吧,发生的概率比较低。在程序运行阶段。或者说呀,在什么呀,在出门之前,你没必要提前对这种发生概率较低的异常。进行预处理。如果你遇处理这种异常,你将活得很累。就我不知道大家理解没理解这个意思啊,就是运行是异常,异常一般发生的概率是比较低的,就小明走在大街上可能会被天上的飞机轮子砸到,被飞机轮子砸到它也算一种异常,对不对?那但是这种异常发生的概率是极低的,那你在出门之前,你没必要提前对这种异常发生概率较低的异常进行处理,预处理,如果你预处理这种异常,那你将活得很累。
08:07
啊,活得很累,那你像这种,那你就得处理啊。是吧?你,外面明明知道倾盆大雨的,你能够预料到,如果我不打一把伞,我可能会生病。对不对,所以说我在出门之前我会打一把伞,而我打一把伞这种行为就是对我们异常的一种预处理,预处理啊,预先处理明白吧,哎,发生概率较较高,那对于发生概率较低的这种异常呢,其实我们没必要去提前的预处理它。啊,提前预处理它,那这种叫运行时异常发生概率较低。那么大家注意啊,大家想一想,如果Java中没有这个编译式异常,也没有这个运行异常,没有划分。所有的异常都在编辑阶段,对它进行对程序进行预先处理,那么会存在会发生什么问题?各位大家思考一下。假设Java中没有对异常进行划分,没有分为什么呀,没有分为编译时异常,也编译时异常和什么呀,运行时异常。
09:11
所有的异常都需要在什么编写程序阶段对其进行预处理?将是怎样的效果啊,将是怎样的?效果呢?嗯。就假设Java中它没有划分这个编译式异常,也没有划分这个运行是异常。对吧?它所有的异常都需要在编写程序段对其进行预处理,那将会是怎样的效果呢?首先,如果这样的话,程序肯定是绝对的安全。但是程序员编写程序太累,代码到处都是,什么处理异常的代码?
10:09
你好,想是这样。你看啊。不管是发生概率较高的,还是发生概率较低的异常,我们出门之前把今天要可能发生所有的事情,我们提前在家里怎么着啊,预处理一下。大家思考一下,思考一下啊。就不管是哎发生概率比较高的,还是说发生概率比较低的,我们在出门之前把所有的事情都考虑到,我问你,你这个人是不是绝对的安全。但你这个人会活得很累,对吗?大家思考一下是不是这样的?假设你在出门之前。你把你把能够发生的异常都预先处理。你这个人会更加的安全,但是你这个人活的很累,就相当于我们程序也是一样,我们程序的现在不管是编译是异常,还是运行是异常,不管是什么异常,我们不划分这些东西呢,只要是在我们程序编辑的,我们对这些异常都要进行预处理,那么你会看到你的程序到处。
11:18
都是处理异常的代码。啊,你这个程序呢,会很乱,另外你的程序员怎么着会很累,那同样我们这也是一样的,无论是发生概率比较高还是概率比较低的,我们在出门之前都对这种异常进行遇险处理。啊,你这个人确实更安全呀,你看我今天出门之前我防着什么呀,我防着这个,嗯嗯,防着这个,外边下雨我得拿把伞对吧?哎,我得防着啥呀,我得防着我我我防着什么,我在这个,嗯。这个飞机轮子掉下来砸到我是不是?哎,我得防着这些事情,那我这个人确实会更安全一些,安全一些,但是这个人会活得很累,在我们程序方面也是一样。程序方面的话,你无论是编译时还是运行时,如果不进行划分的话,所有异常都在编辑阶段对它进行预处理的话。
12:06
那么你将会活得很累啊。你这个代码也会很累啊,代码看起来很乱。
我来说两句