前言:在编程中对异常的处理是很重要的,这直接关系到写出程序的健壮性、稳定性,今天我们就来了解一下异常处理中的Throwable类以及它的子类。

Throwable是什么?

  Throwable是Java中专门处理异常的类,是所有错误或异常的超类,隶属于Java.lang包下。当程序错误时,虚拟机就会将其实例抛出,它的两个直接子类分别是Error类和Exception类,分别被用来处理两类异常情况。 

Error类

  Error表示系统级的错误,一般是由于硬件或运行环境方面的异常,例如内存溢出、虚拟机出错、连接错误等,这类错误不由程序抛出,而且对于这种情况,一般是不用修改程序的,因为程序也无能为力,只能停止运行。 

Exception类

  Exception类表示需要捕捉或需要程序进行处理的异常,它的出现原因是程序设计错误或外界输入引起的,是程序必须进行相应处理的。Exception的子类分别对应编译时以及运行时出现的各种异常,包括显示异常隐式异常。隐式异常指运行时出现的错误,例如除数为0、数组下标越界等,这些是在程序运行中产生的。显示异常指程序中非运行时出现的异常,一般在编译时期,由程序主动抛出,比如文件未找到、类未找到而引起的异常等等。 

 附:Exception类的子类表示的异常情况: 

       ArithmeticException:除数为0引起的异常; 

       ArrayStoreException:数组存储空间不够引起的异常; 

       ClassCastException:当把一个对象归为某个类,但实际上此对象并不是由这个类 创建的,也不是其子类创建的,则会引起异常; 

       NegativeArraySizeException:数组长度是负数,则产生异常; 

       NullPointerException:程序试图访问一个空的数组中的元素或访问空的对象中的 方法或变量时产生异常; 

       OutofMemoryException:用new语句创建对象时,如系统无法为其分配内存空 间则产生异常; 

       SecurityException:访问了不应访问的指针,使安全性出问题而引起异常; 

       IndexOutOfBoundsExcention:数组下标越界或字符串访问越界引起异常; 

       IOException:文件未找到、未打开或者I/O操作不能进行而引起异常; 

       ClassNotFoundException:未找到指定名字的类或接口引起异常; 

       CloneNotSupportedException:程序中的一个对象引用Object类的clone方法,但 此对象并没有连接Cloneable接口,从而引起异常; 

       InterruptedException:当一个线程处于等待状态时,另一个线程中断此线程,从 而引起异常; 

       NoSuchMethodException:调用的方法未找到,引起异常; 

       StringIndexOutOfBoundsException:访问字符串序号越界,引起异常;

       ArrayIdexOutOfBoundsException:访问数组元素下标越界,引起异常; 

       NumberFormatException:字符的UTF代码数据格式有错引起异常; 

       IllegalThreadException:线程调用某个方法而所处状态不适当,引起异常; 

       FileNotFoundException:未找到指定文件引起异常; 

       EOFException:未完成输入操作即遇文件结束引起异常。


1

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐