作用一:异常是用来查询bug的关键参考信息
作用二:异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况
throw new RuntiomeException();
JVM默认的处理方式
把异常的名称,异常原因出现的位置等信息输出在控制台
程序停止执行,下面的代码不会再执行
自己处理异常(捕获异常)
try{
可能出现异常的代码;
}catch(异常类名 变量名){
异常处理代码;
}
目的:当代码出现异常的时候,可以程序继续往下执行
好处:可以让程序继续往下执行,不会停止
灵魂四问:
1.如果try中没有遇到问题,怎么执行
会把try里面的所有的代码全部执行完毕,不会执行catch里面的代码
注意:
只有当出现了异常才会执行catch立面的代码
2.如果try中可能遇到多个问题,怎么执行
会写多个catch与之对应
细节:
如果我们要捕获多个异常,这些异常中如果存在父子关系的化,那么父类一定要写在下面
在JDK7以后,我们可以在catch中同时捕获多个异常,中间用|进行隔开
表示如果出现了A异常或者B异常的化,采取同一种处理方案
3.如果try中遇到的问题没有被捕获,怎么执行
相当于try...catch代码白写,最终还是会交给虚拟机进行处理
4.如果try中遇到了问题,那么try下面的其他代码还会执行吗。
下面的代码就不会继续执行了,会跳转到对应的catch当中,执行catch里面的语句体,但是如果没有对应的catch与之匹配,那么还是会交给虚拟机进行处理