正确关闭资源的方式:
Object src = new Object();
Object desc = null;
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
oos = new ObjectOutputStream(new FileOutputStream("a.bin"));
ois = new ObjectInputStream(new FileInputStream("a.bin"));
oos.writeObject(src);
oos.flush();
desc = ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 1.流可能根本无法创建
if (oos != null) {
// 2.异常处理
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 同上
if (ois != null) {
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Finally块
当Java程序执行try块、catch块时遇到了return语句,会导致该方法立即结束。系统在立即结束之前会寻找该异常处理流程中是否包含finally块,如果没有finally块,方法终止,返回相应返回值;如果有finally块,系统立即开始执行finally块——只有当finally块执行完成后,系统才会再次跳回来根据return语句结束方法。如果finally块里使用了return语句来导致方法结束,则finally块已经结束了该方法,系统将不会跳回去执行try块、catch块里的任何代码。
同理,try块、catch块时遇到了throw语句时,系统会先寻找finally块。
Catch块
在try块后使用catch块来捕捉多个异常时,程序应该小心多个catch块之间的顺序:捕捉父类异常的catch块都应该排在捕捉子类异常的catch块之后(简称为先处理小异常,再处理大异常),否则将出现编译错误。
继承得到的异常
Java语言规定,子类重写父类方法时,不能声明抛出比父类方法类型更多、范围更大的异常。也就是说,子类重写父类方法时,子类方法只能声明抛出父类方法所声明抛出的异常的子类。
分享到:
相关推荐
java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理
高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架
java异常处理的习题,撒个的是的风格成本凡人歌是东方按时到岗
java 异常处理 代码实例java 异常处理 代码实例
零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理...
Java论文异常处理论文:JAVA异常处理的分析与研究.doc
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解
Java 异常处理的 9 个最佳实践,在处理异常时可以参考。
深入理解java异常处理机制,很详细的,去了,你们的!
摘要使用Java异常的人很多,但能合理使用的却不多,Java异常处理设计是一个冷门的话题,但好的异常设计会让程序有质的变化,所以本文从各个方面分析便总结了,在J
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
此文档主要讲解了java异常处理的基本问题,适合初学者,比较详细,有范例,有讲解.
Java 异常处理的误区和经验总结 本资料共包含以下附件: Java 异常处理的误区和经验总结.pdf
第7章 java异常处理
java异常处理例题代码.pdf
简单,易懂的方式讲解C++与java异常处理的方法,两者的异同
JAVA异常处理试题及答案.pdf
什么时间使用runtimeException,什么时间使用Exception,大家有没有被困扰到?经整理,JAVA异常处理框架,以及如何构造自己的异常体系,讲得比较详细,值得一看。