异常处理----Throwable类
2015-10-10 11:35
197 查看
前言:在编程中对异常的处理是很重要的,这直接关系到写出程序的健壮性、稳定性,今天我们就来了解一下异常处理中的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:未完成输入操作即遇文件结束引起异常。
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:未完成输入操作即遇文件结束引起异常。
相关文章推荐
- CSS尺寸和字体单位-em、px还是%
- cocos2dx 翻牌效果
- ListView自定义后,在onItemClick中getChildAt返回null问题
- overload,override,overwrite
- java设计模式之工厂模式
- AsyncTask实现断点续传
- C#鼠标右键弹出菜单
- Android学习文档之获取内存大小
- Andrew机器学习课程笔记(4)—— 异常检测
- unity基础知识大纲
- gulp的学习使用
- 使用CXF编写简单客户端与服务端
- android开发知识块总结
- AsyncTask实现断点续传
- 实验一
- linux操作mysql数据库常用简单步骤
- JSP中使用JSTL按不同条件输出内容的方法
- overflow
- WIFI基本知识整理
- css积累