Java异常机制入门详解
- 基础知识
- 什么是异常?
在Java语言中,异常就是代表程序出现的问题。异常的引入不是让我们以后不出异常,而是程序出了异常之后,该如何处理。如如下两段代码,会各抛出一个异常:
int[]arr ={10,20,30};
System.out.println(arr[3]);
ArrayindexOutOfBoundsException
数组索引越界异常
int a =10;
int b =0;
System.out.println(a /b);
ArithmeticException
算数异常
- 异常的体系
- Error异常(严重错误)
Error:代表的系统级别错误(属于严重问题)
如果系统一旦出现问题,sun公司会把这些错误封装成Eror对象。Error是给sun公司自己用的,不是给我们程序员用的。因此我们开发人员不用管它。
- Exception异常
Exception:叫做异常,代表程序可能出现的问题。我们通常会用Exception以及他的子类来封装程序出现的问题。异常共有2类:
运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒。运行时出现的异常(如:数组索引越界异常)
编译时异常:直接继承于Exception类,编译阶段就会出现异常提醒的。(如:日期解析异常)
运行时异常和编译时异常的区别?
●编译时异常:除了RuntimeExcpetion和他的子类,其他都是编译时异常。编译阶段需要进行处理,作用在于提醒程序员。
●运行时异常:RuntimeException本身和所有子类,都是运行时异常。编译阶段不报错,是程序运行时出现的。一般是由于参数传递错误带来的问题
常见的编译时异常
1.FileNotFoundException
2.ClassNotFoundException
3.SQLException
4.NoSuchFieldException
5.NoSuchMethodException
6.ParseException
常见的运行时异常
1.NullPointerException
2.ArithmeticException
3.ClassCastException
4.ArrayIndexOutOfBoundsException
5.StringIndexOutOfBoundsException
- 异常的作用
作用一:异常是用来查询bug的关键参考信息
作用二:异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况
- 小结
1.异常是什么?
●程序中可能出现的问题
2.异常体系的最上层父类是谁?异常分为几类?
●父类:Exception。
●异常分为两类:编译时异常、运行时异常
3.编译时异常和运行时异常的区别?
●编译时异常:没有继承RuntimeExcpetion的异常,直接继承于Excpetion。
编译阶段就会错误提示
●运行时异常:RuntimeException本身和子类。编译阶段没有错误提示,运行时出现的。