Java中的异常分类
RuntimeException(也称unchecked exceptions,运行时异常)
就是咱们在开发中测试功能时程序终止,控制台出现的异常。(通常来讲,出现运行时异常基本就是你的问题,要检查代码,把运行时异常想成你的女友,无论怎么说,都是你的错(✿◕‿◕✿))常见的运行时异常有:数组
- ArrayStoreException:试图将错误类型的对象存储到一个对象数组时抛出的异常
- ClassCastException:试图将对象强制转换为不是实例的子类时,抛出该异常
- IllegalArgumentException:抛出的异常代表向方法传递了一个不合法或不正确的参数
- IndexOutOfBoundsException:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出
- NoSuchElementException:代表枚举中没有更多的元素
- NullPointerException:当应用程序试图在须要对象的地方使用 null 时,抛出该异常
其余RuntimeException
- ArithmeticException——因为除数为0引发的异常;
- ArrayStoreException——因为数组存储空间不够引发的异常;
- IllegalMonitorStateException——监控器状态出错引发的异常;
- NegativeArraySizeException—一数组长度是负数,则产生异常;
- OutofMemoryException——用new语句建立对象时,如系统没法为其分配内存空 间则产生异常;
- SecurityException——因为访问了不该访问的指针,使安全性出问题而引发异常;
- IOException——因为文件未找到、未打开或者I/O操做不能进行而引发异常;
- ClassNotFoundException——未找到指定名字的类或接口引发异常;
- CloneNotSupportedException——一程序中的一个对象引用Object类的clone方法,但 此对象并无链接Cloneable接口,从而引发异常;
- InterruptedException—一当一个线程处于等待状态时,另外一个线程中断此线程,从 而引发异常,有关线程的内容,将在下一章讲述;
- NoSuchMethodException一所调用的方法未找到,引发异常;
- Illega1AccessExcePtion—一试图访问一个非public方法;
- StringIndexOutOfBoundsException——访问字符串序号越界,引发异常;
- ArrayIdexOutOfBoundsException—一访问数组元素下标越界,引发异常;
- NumberFormatException——字符的UTF代码数据格式有错引发异常;
- IllegalThreadException—一线程调用某个方法而所处状态不适当,引发异常;
- FileNotFoundException——未找到指定文件引发异常;
- EOFException——未完成输入操做即遇文件结束引发异常。
非RuntimeException(也称checked exceptions,编译异常)
是RuntimeException之外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,若是不处理,程序就不能编译经过。如IOException、SQLException等以及用户自定义的Exception异常,通常状况下不自定义检查异常。 通俗的话说就是在写代码时出现红线,须要try-catch或者throws时出现的异常。安全