Java中的异常处理
来源:互联网 发布:知其然的然是什么意思 编辑:程序博客网 时间:2024/05/22 07:44
转自: http://ltzmage.blog.163.com/blog/static/179699982006111893553993/
1、异常处理流程:
抛出异常以后,首先,同Java中其他对象创建一样,将使用new在堆上创建异常对象。然后,当前的执行路径(它不能继续下去)被终止,并且从当前环境中弹出对异常对象的引用。从此,异常处理机制接管程序,并开始寻找一个合适的地方来继续执行此程序。
2、当异常被抛出时,异常处理机制将负责搜寻参数与异常类型匹配的第一个处理程序,会捕获声明的异常以及所有从它派生的异常,一旦找到匹配的处理程序之后,就不会继续查找,因此,建议将catch(Exception e)放在最后,捕获一切未知异常。
try{
}catch(Type1 id1){
}catch(Type2 id2){
}
3、要自己定义异常类,必须从已有的异常类继承。最简单的方法就是让编译器为我们生成缺省构造方法。对异常来说,最重要的部分就是类名,基本上可以通过类名识别出是什么类型的异常。
4、Throwable表示任何可以作为异常被抛出的类,分为两种类型:Error表示编译时和系统错误(除特殊情况,一般不用关心);Exception是可以被抛出的基本类型,既是程序员一般关心的类型。
5、异常与方法声明的关系:(1)派生类构造方法的异常说明必须包含基类构造方法的异常说明,即派生类构造方法的异常必须为基类异常或其父类,当基类构造方法没有异常时,派生类构造方法也可以异常声明。注意,派生类构造器不能捕获基类构造方法抛出的异常。
(2)派生类方法可以不抛出异常,即使基类有异常说明,如果派生类方法有异常说明,必须是基类异常或其子类,而且当基类没有异常声明时,派生类方法不允许异常声明。
Java标准异常
Throwable这个Java类被用来表示任何可以作为异常被抛出的类。Throwable对象可分为两种类型(指从Throwable继承而得到的类型):Error用来表示编译时和系统错误;Exception是可以被抛出的基本类型、在Java类库、用户方法以及运行时故障都可能抛出Exception异常。
Java异常类的结构:
Throwable
|____Error
|____Exception
|____RuntimeException
|____其它Exception
Error:Java运行系统中的内部错误以及资源耗尽的情况。
Exception:RuntimeException及其子类(编程导致的异常)、其它Exception类。
关于RuntimeException
RuntimeException(或任何从它继承的异常),对于这种异常类型,编译器不需要异常说明。注意,只能在代码中忽略RuntimeException(及其子类)类型的异常,其他类型异常的处理都是由编译器强制实施的。
关于finally
对于一些代码,可能会希望无论try块中的异常是否抛出,它们都能得到执行。为了达到这一效果,可以在异常处理程序后面加上finally子句。
示例1。
方法{
try{
……..
return;//加此条语句
}
catch(Exception e){
}
finally{
……….//会执行
}
……….//不会执行
}
示例2。
方法{
try{
……..
System.exit(-1);//终止运行
}
catch(Exception e){
}
finally{
……….//不会执行
}
……….//不会执行
}
- Java中的异常处理
- JAVA中的异常处理
- Java中的异常处理
- JAVA中的异常处理
- java中的异常处理
- Java中的异常处理
- java中的异常处理
- Java中的异常处理
- java中的异常处理
- Java中的异常处理
- java中的异常处理
- java中的异常处理
- Java中的异常处理
- Java中的异常处理
- Java中的异常处理
- java中的异常处理
- Java中的异常处理
- JAVA中的异常处理
- JavaScript 引用类型
- Hibernate 乐观锁实现之 TimeStamp
- 技术转载:退出android程序清除所有activity
- STL中Straits技术
- 多表查询
- Java中的异常处理
- JSP入门之避免Form表单重复提交的几种方案
- [C] 字节对齐
- GUITexture参数设置
- newwork
- SDRAM的工作原理
- Windows 7电源实用设置让笔记本关盖不关机
- Shell 的赋值命令
- PYTHON模块之time