java的异常情况
Posted 田天甜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:未完成输入操作即遇文件结束引起异常。
以上是关于java的异常情况的主要内容,如果未能解决你的问题,请参考以下文章