◆Multicatch:开发者现在能够在一个catch代码块中捕获多个异常类型;
◆Final Rethrow:它可以让开发者捕获一个异常类型及其子类型,并且无需向方法声明中增加抛出子句,就能重新将其抛出。
过去我们在捕获多个异常类型时,往往会使用以下类型的代码:
- }catch(FirstExceptionex){
- logger.error(ex);
-
throwex;
-
}catch(SecondExceptionex){
- logger.error(ex);
-
throwex;
- }
但是以上代码除了冗长外没有什么优点。一个解决办法是找出这两个异常类型的共同子类型,只对其进行捕获并抛出。但是这种方法通常会捕获一些你并不需要的异常。
现在借助于新增的功能,开发者可以使用以下代码:
- }catch(FirstException|SecondExceptionex){
- logger.error(ex);
-
throwex;
- }
这种代码看上去要简洁清晰的多。
第二个增强功能要复杂一些。假如开发者希望捕获所有异常,在进行必要的几个操作后,再将其抛出。就代码编写而言并不是一件难事,但是开发者必须在方法声明中增加一个抛出子句,来管理自己代码发出的新异常。而现在借助于Final Rethrow,开发者无需增加一个异常抛出子句就能完成此项任务:
- try{
-
-
}catch(finalThrowableex){
-
-
throwex;
- }
通过使用final关键字,开发者可以抛出所需的准确动态类型异常。这样如果一个IOException异常发生,那么IOException将被抛出。当然,开发者必须声明不被捕获的异常。如果开发者在try代码块(在//some more code部分)中没有捕获任何异常,抛出子句则与以前完全相同;反之如果捕获到某些异常,开发者则可以进行相应处理。
Java 7中的multi-catch是一个非常好的功能,但是final rethrow对程序员来说并不常用。
转自:http://developer.51cto.com/art/201005/198803.htm
分享到:
相关推荐
java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理
第7章 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异常处理实验.docx
java异常处理.pdf
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
Java异常处理总结
描述java内存回收机制,异常出现原因,解决方案
java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解
Java论文异常处理论文:JAVA异常处理的分析与研究.doc
Java基础入门教程 第7章 Java中的异常处理(共26页).ppt Java基础入门教程 第8章 文件流的输入输出操作(共37页).ppt Java基础入门教程 第9章 Java的高级特性(共32页).ppt jdk api 1.7.chm JDK_API_1_6_zh_...
Java Web开发异常处理方式及AOP技术 详细介绍了web开发过程中的异常捕获及处理。
java 异常处理 代码实例java 异常处理 代码实例
C++ Java异常处理比较
Java异常处理
在java中会有一些异常。这些异常分为运行异常和编译异常,java中将这些异常作为对象进行处理。