Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第1张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第2张图片

 编译时异常:在编译阶段,必须要手动处理,否则代码报错(提醒程序员检查本地信息)

运行时异常:在编译阶段是不需要处理的,是代码运行时出现的异常(代码出错而导致程序出现的问题)

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第3张图片

 Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第4张图片

异常作用一:异常是用来查询bug的关键参考信息

异常作用二:异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第5张图片

异常的处理方式:①JVM默认的处理方式

1.把异常的名称,异常原因及异常出现的位置等信息输出在了控制台

2.程序停止执行,异常下面的代码不会再执行了

                             ②自己处理Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第6张图片

完整形态:Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第7张图片

 

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第8张图片

 Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第9张图片

 灵魂一问:会把try里面所有的代码全部执行完毕,不会执行catch里面的代码(注意点:只有当出现了异常才会执行catch里面的代码)

灵魂二问:会写多个catch与之对应(注意点:如果我们要捕获多个异常,这些异常如果存在父子关系的话,那么父类一定要写在下面;在JDK7之后,我们可以在catch中同时捕获多个异常,中间用  |  进行隔开,表示如果出现了A异常或B异常的话,采取同一种处理方案)Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第10张图片

灵魂三问:相当于try……catch白写了,当前异常会交给虚拟机处理

灵魂四问:不会执行了。try中遇到问题,直接跳转到对应的catch。如果没有对应的catch与之匹配,则交给虚拟机处理

异常中的常见方法:Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第11张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第12张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第13张图片

③抛出异常 Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第14张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第15张图片

 Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第16张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第17张图片

小练习:Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第18张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第19张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第20张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第21张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第22张图片

我们通过上面的练习,当我们的姓名和年龄发生错误时,我们使用的是throw new RuntimeException(),但其实这样表达并不准确

我们可以写一个异常类继承于RuntimeException(当运行产生异常)或者Exception(编译时产生异常)Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第23张图片 

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第24张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第25张图片

 Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第26张图片

Java中异常(异常的处理方式(JVM默认的处理方式、自己处理(try……catch……finally)(灵魂四问)、抛出异常(throws、throw))、异常中的常见方法、小练习、自定义异常)_第27张图片

你可能感兴趣的:(Java,java,intellij-idea)