异常机制
异常分类:
1.Error及其子类:错误,一般指的是虚拟机的错误,是由Java虚拟机生成并抛出,程序不能进行处理所以也不加 处理,
2.RuntimeException及其子类:运行时异常(非受检型异常),是由于编程bug所导致,希望越早发现越好,所以 不进行处理,直接中断报错即可,编程人员针对报错信息修改程序bug来解决问题。
3.Exception及其子类中除了RuntimeException及其子类之外的其它异常:受检型异常(非运行时异常),这类异常 属于明知道可能出现,但是没有办法杜绝的异常。这类异常一般采用try/catch或者throws声明抛出的方式进行异 常处理,当程序出现了非正常情况,尽量保证程序正常结果,而不是立即中断
- 受检型异常:明知道存在这种异常的可能,但是没有办法杜绝,所以必须进行编码异常处理
- 非受检型异常:这种异常不需要进行处理,发现的越早越好
常见的五大异常:
1.ArithmeticException算术异常,就是执行数学计算时产生的非正常情况,如除以0
2.NullPointerException空指针异常(试图访问null对象的引用)
3.IndexOutOfBoundsException下标出界
4.ClassCastException试图把一个对象转换成非法类型
5.NumberFormatException数据格式异常,一般出现在数据类型转换中