1.ArithmeticException——由于除数为0引起的异常;
2.ArrayStoreException——由于数组存储空间不够引起的异常;
3.ClassCastException—一当把一个对象归为某个类,但实际上此对象并不是由这个类 创建的,也不是其子类创建的,则会引起异常;
4.IllegalMonitorStateException——监控器状态出错引起的异常;
5.NegativeArraySizeException—一数组长度是负数,则产生异常;
6.NullPointerException—一程序试图访问一个空的数组中的元素或访问空的对象中的 方法或变量时产生异常;
7.OutofMemoryException——用new语句创建对象时,如系统无法为其分配内存空 间则产生异常;
8.SecurityException——由于访问了不应访问的指针,使安全性出问题而引起异常;
9.IndexOutOfBoundsExcention——由于数组下标越界或字符串访问越界引起异常;
10.IOException——由于文件未找到、未打开或者I/O操作不能进行而引起异常;
11.ClassNotFoundException——未找到指定名字的类或接口引起异常;
12.CloneNotSupportedException——一程序中的一个对象引用Object类的clone方法,但 此对象并没有连接Cloneable接口,从而引起异常;
13.InterruptedException—一当一个线程处于等待状态时,另一个线程中断此线程,从 而引起异常,有关线程的内容;
14.NoSuchMethodException一所调用的方法未找到,引起异常;
15.IllegalAccessExcePtion—一试图访问一个非public方法;
16.StringIndexOutOfBoundsException——访问字符串序号越界,引起异常;
17.ArrayIdexOutOfBoundsException—一访问数组元素下标越界,引起异常;
18.NumberFormatException——字符的UTF代码数据格式有错引起异常;
19.IllegalThreadException—一线程调用某个方法而所处状态不适当,引起异常;
20.FileNotFoundException——未找到指定文件引起异常;
21.EOFException——未完成输入操作即遇文件结束引起异常。
运行时异常
都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。
非运行时异常 (编译异常)
是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。