Java基础异常整理(持续更新)

想看更全更多整理请看 http://www.apexyun.com/zui-quan-java/

java.lang
java.lang.ArithmeticException

异常算术条件时抛出。 例如,“除以零”的整数会抛出。

java.lang.ArrayIndexOutOfBoundsException

抛出以表示使用非法索引访问数组。 索引为负数或大于或等于数组的大小。

java.lang.ArrayStoreException

抛出以表示尝试将错误类型的对象存储到对象数组中。 例如,以下代码生成一个ArrayStoreException :

Object x[] = new String[3];

x[0] = new Integer(0);

java.lang.ClassCastException

抛出表示代码尝试将对象转换为不属于实例的子类。 例如,以下代码生成一个ClassCastException :

Object x = new Integer(0);

System.out.println((String)x);

java.lang.ClassNotFoundException

当应用程序尝试通过其名称加载类时抛出:

• Class.forName方法 。

• ClassLoader.findSystemClass方法。

• ClassLoader.loadClass方法。

但是没有找到指定名称的类的定义。

java.lang. CloneNotSupportedException

对象的类未实现Cloneable接口。覆盖clone方法的应用程序也可以抛出此异常以指示对象无法或不应被克隆。

java.lang. EnumConstantNotPresentException

当应用程序尝试通过名称访问枚举常量时抛出,枚举类型不包含指定名称的常量。

java.lang. IllegalAccessException

当应用程序尝试反射创建实例(数组除外),设置或获取字段或调用方法时,当前执行的方法无法访问指定类,字段的定义,方法或构造函数。会抛出IllegalAccessException。

java.lang. IllegalArgumentException

抛出表示方法传入了非法或不正确的参数。

java.lang. IllegalMonitorStateException

线程尝试在对象的监视器上wait或notify,却没有拥有指定的监视器。

java.lang. IllegalStateException

表示在非法或不适当的时间调用了一种方法。 换句话说,Java环境或Java应用程序对于请求的操作并不处于适当的状态。

java.lang. IllegalThreadStateException

抛出以指示线程处于所请求操作的不适当状态。

java.lang. IndexOutOfBoundsException

抛出以表示某种索引(例如数组,字符串或向量)的索引超出范围。

应用程序可以将此类子类化以指示类似的异常。

java.lang. InstantiationException

当应用程序尝试使用newInstance方法创建类的实例时抛出,但指定的类对象不能被实例化。 实例化可能由于各种原因而失败,包括但不限于:

• 类对象表示抽象类,接口

• 该类没有空值构造函数

java.lang. InterruptedException

被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。

java.lang. NegativeArraySizeException

一个应用程序尝试创建一个负数大小的数组抛出。

java.lang. NoSuchFieldException

表示该类没有指定的字段。

java.lang. NoSuchMethodException

当无法找到特定方法时抛出。

java.lang. NullPointerException

当应用程序尝试在需要对象的情况下为null时抛出。

java.lang. NumberFormatException

将字符串转换为数字,格式错误。

java.lang. ReflectiveOperationException

核心反射中的反射操作所引起的异常的常见超类。

java.lang. RuntimeException

RuntimeException是在Java虚拟机的正常操作期间可以抛出的那些异常的超类。

RuntimeException及其子类是未经检查的异常 。 unchecked异常不需要在方法或构造函数throws。

java.lang. SecurityException

由安全管理器抛出,表示安全违规。

java.lang. StringIndexOutOfBoundsException

索引为负或大于字符串的大小。对于某些方法(如charAt方法)。

java.lang. TypeNotPresentException

使用表示类型名称的字符串访问类型时没有找到类型的定义抛出。此异常不同于ClassNotFoundException在ClassNotFoundException是检查的异常,而此异常是未经检查的。

java.lang. UnsupportedOperationException

抛出以表示不支持的操作。

java.lang. AbstractMethodError

当应用程序尝试调用抽象方法时抛出。

java.lang. AssertionError

抛出以表明断言失败。

java.lang. BootstrapMethodError

未找到其引导方法。

java.lang. ClassCircularityError

当Java虚拟机检测到正在加载的类的超类层次结构中的循环性时抛出。

java.lang. ClassFormatError

当Java虚拟机尝试读取类文件并确定文件格式不正确或不能解释为类文件时抛出。

java.lang. ExceptionInInitializerError

表示在静态初始化程序中发生意外异常。

java.lang. IllegalAccessError

如果应用程序尝试访问或修改某个字段,或调用无法访问的方法,则抛出此异常。

java.lang. IncompatibleClassChangeError

当一些类定义发生不兼容的类更改时抛出。 当前执行方法所依赖的某些类的定义已经改变了。

java.lang. InstantiationError

当应用程序尝试使用Java new构造来实例化抽象类或接口时抛出。

java.lang. InternalError

在Java虚拟机中引发了一些意外的内部错误。

java.lang. LinkageError

一个类对另一个类有依赖,而后期运行时依赖的类发生变化导致异常。

java.lang. NoClassDefFoundError

Java虚拟机在编译时能找到类定义,而在运行时找不到导致的错误。

java.lang. NoSuchFieldError

Java虚拟机在编译时能找到field,而在运行时找不到导致的错误。

java.lang. NoSuchMethodError

Java虚拟机在编译时能找到方法(静态或实例),而在运行时找不到。

java.lang. OutOfMemoryError

当Java虚拟机由于内存不足而无法分配对象时抛出。

java.lang. StackOverflowError

在程序栈空间耗尽时抛出,通常是深度递归导致。

java.lang. UnsupportedClassVersionError

类的版本号不对。通常是由于高版本JDK编译在低版本JVM运行导致。

java.lang. VerifyError

Java虚拟机编译的时候,”校验器"检测到一个类文件虽然格式正确,但包含着一些内部不一致性或安全性问题时,抛出该错误。

java.lang. VirtualMachineError

抛出以表明Java虚拟机已损坏或已耗尽资源。

更多文章欢迎访问 http://www.apexyun.com/

联系邮箱:[email protected]

(未经同意,请勿转载)

猜你喜欢

转载自blog.csdn.net/yinghe_one/article/details/85779748