知识点
- 异常
- try…catch…
- Throwable的成员方法
- 编译时异常和运行时异常的区别
- 自定义异常
- 并发修改异常
异常本质上是个类,有很多的方法
例如
Class ArrayIndexOutOfBoundsException
我们可以看出,
Throwable类是所有异常类的超类。
异常中,我们有RuntimeException和非RuntimeException
RuntimeException是我们在运行的过程中才检查的异常,如果出现非RuntimeException程序都无法通过编译。
Throwable的成员方法
其中 getMessage()是抛出异常的原因
toString()是抛出异常的原因加异常的类
printStackTrace()抛出异常的原因加类加出现异常具体的行数
编译时异常和运行时异常的区别
Java中的异常被分为两大类:编译时异常和运行时异常,也被称为受检异常和非受检异常
所有的RuntimeException类及其子类被称为运行时异常,其他的异常都是编译时异常
并发修改异常——bug及bug的调试
1,创建一个列表
2,往列表添加元素
3,用迭代器访问列表
4,如果列表内有”World”,则添加一个javeee
运行之后会出现这些异常
我们得从下往上看
at com.itheima3.CollectionDemo.main(CollectionDemo.java:19)
说明在CollectionDemo这个类中的main函数,类的19行出现了问题
在第19行调用了,ArrayList中Itr.next方法,Itr是ArrayList的内部类,这个方法出现了异常
这个方法中的checkForComodification方法出现了问题(ArrayList.java:1013)在1013行
我们找到后,把与我们编程有关的内容复制出来
这里的add方法是在,ArrayList类中的
ArrayList中也有很多内部类,内部类也有自己的add方法,但是ArrayList无法调用