异常概述:
异常的体系:
例如:
当你数组角标越界了,你想自己定义 输出的内容;
我们就给他做一个判断
if(index>=arr.length){ throw new ArrayIndexOutOfBoundsException(index)}
你也可以自己定义输出的内容("XXXXX"+index);
___
自定义异常:
throw 用在函数里面;throws用在函数声明上
直接调用父类的构造函数就可以传递消息;显示在异常后;
一个函数只能throw一个异常,因为throw就不往下面运行了,而是找其他的途径去解决。直到找到办法。
————
异常的分类:
————————
try{}catch{}
Throws和try 的使用位置;如下
因为method这个方法是被使用的,并不是 我们自己出的问题,而是
使用者 使用的时候出的问题,所以使用Throws
而调用这个方法,使我们自己调用的,所以我们要在调用这个方法的地方加上
try来进行捕获异常。
捕获异常的流程:
————
多catch的情况:
如果我们在方法的情况下抛出了多个异常:
那么我们就要用多catch来捕获:
记住 父类的catch要放在最下面,因为你如果你放在上面,下面的子类catch就不会运行了
________________
异常处理原则:
finally:
组合特点:
RunTimeException及其子类无需用Throws声明;
——————
异常的封装
就像上面的例子;
当你添加数据的时候出现了异常;你直接抛出,别人根本不知道哪里出现了异常,
所以我们应该在捕获该异常后,抛出一个 容易懂的异常,把不懂的异常封装起来。
——————————
注意事项:
__________
Runtimeexceotion和 Exception,第一个使用在 无法处理的情况,例如:
本来是算一个三角形的面积,但是你传递一个负数进来。这样就可以使用Runtiem
如果是可处理的就可以使用Exception.