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时出现的异常。