在计算机执行我们编写的程序过程中,如果出错,一边可以分为俩种,一种是错误,error,这个事系统的错误,我们不可以修改,出现这样的错误建议立刻停止程序的运行.另一种是我们的程序出现了异常Exception,这是由于我们自己编写代码过程中的失误造成的,是可以修改调整的.
异常如果细分的话,可以分出3中,一种是编译异常,就是语法错误,一般的ide(比如eclipse/Myeclipse)直接报错,不能编译的.另一种是运行时异常,编译通过,但是会在运行的时候报出异常.最后一种是我们自己编写的.
下面举例说明一下,并简单说明出现的原因和解决方法.
编译异常:
ClassNotFoundException:很简单,没有找到类,检查名称是否写错,类名和对应.java的名称是否一样.
NoSuchFieldException:字段不存在.
运行时异常:
ArithmeticException 算术错误,如被 0 除
NullPointerException 非使用空引用 ,就是空指针,调用对象时null,检查是否new对象,或者是否先给值null,但是后来值没有传进去.
ArrayIndexOutOfBoundsException 数组下表越界,检查书写的下表是否大于了数组总长度减一
NegativeArraySizeException 创建带负维数大小的数组的尝试
ClassCastException 非法强制转换类型,就是类型不对
ArrayStoreException 数组元素赋值类型不兼容
IllegalArgumentException 调用方法的参数非法
llegalMonitorStateException 非法监控操作,如等待一个未锁定线程
IllegalStateException 环境或应用状态不正确
IllegalThreadStateException 请求操作与当前线程状态不兼容
IndexOutOfBoundsException 某些类型索引越界
NumberFormatException 字符串到数字格式非法转换
SecurityException 试图违反安全性
StringIndexOutOfBounds 试图在字符串边界之外索引
UnsupportedOperationException 遇到不支持的操作