00:00
来,那么接下来相同的代码原封不动,我复制一份,各位啊,我们在这个地方干什么呢?去新建一个class,我们叫exception test05。来。那么这块呢,贴过来各位啊,然后我把这个地方的四改成五,然后把这个全部删了,删了之后我们在这块也删掉这个,来我们来改一下这个程序啊,那么这个方法之所以出错,是因为你这有异常,而这个异常是编译是异常啊,你说B编译是异常,对它进行预先处理啊,哎,你有两种方式,各位啊。Alt加回车,你看你可以有一种方式是在这个位置继续上抛,这就是我刚才所说的。注意听啊,两种方式嘛,第一种方式在方法声明位置上使用关键字抛给上一级。听懂了吗?哎,抛给上一集。那。这个就行了,哎,这是第一种处理方式啊,第一种处理方式在啊方法声明的位置上。
01:11
继续使用什么啊。进行使用,继续使用。啊来完成异常的继续上抛。抛给调用者,明白吗?你看编译器没报错呀。是不是运行。你看这个程序。是不是没问题,是不是直行很正常,没出异常,各位啊,这里是没有出异常。明白吧,没有出异常。来,所以没事。来注意啊,那第二种处理方式是什么?各位大家看好了,第二种处理方式是报错了吧?哎,Out,加回车,你看这有个try catch看见了吗?
02:05
Try catch有一种处理方式,这种是我们所说的第二种处理方式啊,第二种处理方式是什么?是try catch进行捕捉。进行捕捉啊。这个程序也可以正常执行。啊。是吧,哎,然后闷向上抛,抛给谁,抛给了GVM,注意啊,向上men继续往上抛,就抛给了GVM,就是我不知道大家理解不理解,我们在到目前为止我给大家讲了两种语法,第一种语法在处理这个异常的时候,你可以采用方法声明的日常继续往上抛。第二种处理方式是说你捕捉。但是我在这里讲的很明白,上抛和捕捉有区别吗?有。我举了一个例子对吧,我说什么呀,我说我出了异常,我上抛给了李四,李四可以继续往上抛,抛给王五,王五如果把这个事儿给拦下来,给处理完了,诶CEO是不知道这个事儿的。
03:06
不知道这个异常发生了。但是张三、李四和王五这几个人,他都是知道这个异常发生的,还有一种情况就是他一旦发生异常,我在这我自己掏腰包补上了,那么李四其实也不知道,王五也不知道,明白吧,CEO他也不知道。听懂了吗?就这异常是一级一级上抛,抛给谁呢?哎,在方法声明的位置上使用throws关键字对吧?抛出这个异常,而我们去调这个方法的时候,这个异常它是一个编译是异常,我们对异常必须对它进行预先处理,要么你在这儿throw,要么哎你在这儿才开始捕捉啊,这个ROS这种方式就属于诶上抛的方式。上抛。啊,上抛,而你的踹开始就属于捕捉,记住啊,捕捉之后,捕捉之后这个异常就没了。上坡是抛给调用者啊。上抛类似于推卸责任。
04:03
啊。继续把异常传递给调用者。捕捉呢?捕捉等于把异常拦下了。啊,异常真正的解决了。调用者是不知道的。那调用者是不知道的。明白吧,啊是这样的一个情况啊。
我来说两句