java的异常情况

2019-11-03异常分类:所有的异常都在Throwable类里,Throwable有分为Error类和Exception类。

1、Error是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现问题。例如,Java虚拟机运行错误(Virtual MachineError),当JVM不再继续执行操作所需的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。

Error下面的直接已知子类,例如:AnnotationFormatError:当注释分析器试图从类文件读取注释并确定注释出现异常时,抛出该错误。等等,但是这些应该不用管的。

2、Exception又分为CheckedException和RuntimeException。CheckedException需要编译时处理,RuntimeException不需要编译时处理,只是运行时抛出。

派生于RuntimeException的异常,如被0除、数组下标越界、空指针等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序的可读性和运行效率影响很大。因此由系统 自动检测并将它们交给缺省的异常处理程序。

ArithmeticException:运算异常,大多数时候都是运算中存在除以0的异常;

ArrayIndexOutOfBoundsException:数组下标越界引起异常;

StringIndexOutOfBoundsException:访问字符串序号越界,引起异常;

NullPointerException:空指针异常,数组初始化后还要对数组元素进行初始化,才能调用,否则会报空指针异常,这是很常见的错误;

ClassNotFoundException:找不到指定的类引起异常;

IllegalArgumentException:方法的参数错误引起异常;

IllegalAccessException:没有访问权限引起异常;

ArrayStoreException:数组存储空间不够引起的异常;

ClassCastException:当把一个对象归为某个类,但实际上此对象并不是由这个类 创建的,也不是其子类创建的,则会引起异常;

IllegalMonitorStateException:监控器状态出错引起的异常;

NegativeArraySizeException:数组长度是负数,则产生异常;

SecurityException:由于访问了不应访问的指针,使安全性出问题而引起的异常;

IOException:由于文件未找到、未打开或者I/O操作不能进行而引起的异常;

CloneNotSupportedException:程序中的一个对象引用Object类的clone方法,但此对象并没有连接Cloneable接口,从而引起异常;

InterruptedException:当一个线程处于等待状态时,另一个线程中断此线程,从而引起异常;

NoSuchMethodException:所调用的方法未找到,引起异常;

NumberFormatException:字符的UTF代码数据格式有错引起异常;

IllegalThreadException:线程调用某个方法而所处状态不适当,引起异常;

EOFException:未完成输入操作即遇文件结束引起异常。

猜你喜欢

转载自www.cnblogs.com/tianwenjing123-456/p/11801409.html
今日推荐