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