00:00
下面我们再看一下啊,这个友好的空子在异常。他怎么一回事呢?哎,我也是通过一段代码给你描述一下。通过一段代码给你描述一下啊。那么你比如说我现在啊,我现在好吧,定一类。Class。一个简单的发动机类是不是啊,那么简单的发动机,你比如说我给它一个功率。写上啊。定义发动机类是不是,哎有一个功率。
01:03
然后大宝给他一个什么呀,给他一个排气量。Display。假设这是排量。然后呢,我们定义小汽车内。Class。Car。那小汽车是不是应该有一个品牌?是不是啊?这是它的品牌。来制它的发动机。这什么发动机,发动机。这个写错了是吧,CTRLC。Can。那么我们在这个地方创建。小汽车对象。Car car等于new car。
02:04
然后呢,我们设置小汽车,哎,它发动机的什么呀,功率。对吧。那么你比如说卡点。Engine点儿。Power。啊,功率,你比如说有450马力。好吧,那我保存一下啊,保存一下。来这编译。Java c。点Java。运行。运行的话,这个地方它会产生空指针异常。对吧,那么这个地方只是告诉我们第七行,第七行产生了控制异常,但是在哪儿产生了控制异常啊。
03:03
他没说,如果说car。为nu的话,卡为nu是不是会产生空指针异常啊?那如果说卡点N的为nu,是不是也会产生空指针异常啊?是不是也就是说我们在早期。早期的GDK运行后。运行后来提示。孔子镇。孔子争一场。是不是啊?哎,但是你无法判断。就说我们无法确定,确定是什么呀,Car。为空。还是什么呀。
04:02
没空。是不是啊?反正我们这个地方是不很明确卡不为空嘛。那么我们在在哪呢?在,但是它提示没提示出来是吧,在这个JDK14。在JDK14这个版本中,哎,我们可以干什么呀,我们可以。开启,开启一个参数。哪个参数呢,横杠叉叉。冒号。加上一个什么数。Could detail。Details in exception。Messages。是不是,哎,可以通过开启这个参数。是不是啊,那么它就可以更好的指定,哎,哪个哪个。
05:03
地方。出现异常。你比如说我现在在运行的时候啊,在运行的时候我加上一个参数横杠叉叉冒号,是不是填哪个参数呢?就是这个数扣。Details。Exception。Exception my。S。那么后面。跟的是我们这个T02这个类名。来同学们看,那么现在它这个异常信息是不是还是空指针异常。是不是啊,还是一个空乘异常,那么现在这个空乘异常信息来。
06:04
那我们运行好。运行后提示的空指针异常信息。这串。是不是就can a sun field power,为什么呀,为什么不能不能给它赋值啊,因为。是不是不能给这个power复制,为什么呀,因为N为呢。看到了吗?同学们。好吧,不能给字段power赋值,为什么呀?因为N为呢。是不是啊,当然这个我在。把这给你复制过来啊。就说我们执行执行哎。是不是运行。程序后是吧,运行程序后,哎,它提示的空值异常。
07:01
那么我们通过这个空指针异常,是不是就能很明确的知道谁为空啊?是不是因为N?所以说不能给power这个字段复制。好吧,这就是这就是JDK14,哎,它增强的啊。友好的或者叫友好的空指针异常提示。好吧,当然你在运行的时候需要加上。这个参数。需要加这个参数。
我来说两句