知识大全 初探Java 7异常处理功能增强

Posted 类型

篇首语:在学习上做一眼勤、手勤、脑勤,就可以成为有学问的人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 初探Java 7异常处理功能增强相关的知识,希望对你有一定的参考价值。

初探Java 7异常处理功能增强  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  今天我们来看看Java 异常处理方面的功能增强 来自Coin项目的又一个细微语言增强已经被包含在Java 中 由谷歌专任工程师兼Java讲师Neal Gafter提出的Java增强异常处理功能 Open JDK开发的领导者Joe Darcy已经在其博客上宣布了这个变化

  此次变动增加了两处对异常处理机制的细微增强

  ◆Multicatch 开发者现在能够在一个catch代码块中捕获多个异常类型

  ◆Final Rethrow 它可以让开发者捕获一个异常类型及其子类型 并且无需向方法声明中增加抛出子句 就能重新将其抛出

  过去我们在捕获多个异常类型时 往往会使用以下类型的代码

   catch (FirstException ex)

       logger error(ex);

       throw ex;

   catch (SecondException ex)

       logger error(ex);

       throw ex;

  

  但是以上代码除了冗长外没有什么优点 一个解决办法是找出这两个异常类型的共同子类型 只对其进行捕获并抛出 但是这种方法通常会捕获一些你并不需要的异常

  现在借助于新增的功能 开发者可以使用以下代码

   catch (FirstException | SecondException ex)

       logger error(ex);

       throw ex;

  

  这种代码看上去要简洁清晰的多

  第二个增强功能要复杂一些 假如开发者希望捕获所有异常 在进行必要的几个操作后 再将其抛出 就代码编写而言并不是一件难事 但是开发者必须在方法声明中增加一个抛出子句 来管理自己代码发出的新异常 而现在借助于Final Rethrow 开发者无需增加一个异常抛出子句就能完成此项任务

   try

       // some code

   catch (final Throwable ex)

       // some more code

       throw ex;

  

  

  通过使用final关键字 开发者可以抛出所需的准确动态类型异常 这样如果一个IOException异常发生 那么IOException将被抛出 当然 开发者必须声明不被捕获的异常 如果开发者在try代码块(在//some more code部分)中没有捕获任何异常 抛出子句则与以前完全相同 反之如果捕获到某些异常 开发者则可以进行相应处理

  Java 中的multi catch是一个非常好的功能 但是final rethrow对程序员来说并不常用

cha138/Article/program/Java/hx/201311/26609

相关参考

知识大全 Java异常处理

Java异常处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  异常处理是程序设计中一个非常重要

知识大全 java编程中异常处理的优劣观

  关键字:异常通告(throws)throwtrycatchRuntimeException不可检查(Unchecked)异常可检查(Checked)异常 Java编程中的异常处理是一个很常见的话题

知识大全 java程序异常处理方法

   对于java异常处理你是否都掌握了呢如果是你是否能在下面这段代码中迅速找出异常处理的六个问题吗?     &nbs

知识大全 Java Socket常见异常处理

JavaSocket常见异常处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在java网络编

知识大全 Java异常处理原理及应用

Java异常处理原理及应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  readLine方法有

知识大全 如何解决java的异常处理

   在编程中我们肯定会意见代码异常的情况当发生异常时程序员可以通过自己编写有针对性的代码来对它进行处理以让程序继续运行下去为了让写出来的代码比较强壮(robust)ja

知识大全 Java 中的异常处理从概念到实例

Java中的异常处理从概念到实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  概念  采用新的

知识大全 java多线程中的异常处理

  在java多线程程序中所有线程都不允许抛出未捕获的checkedexception也就是说各个线程需要自己把自己的checkedexception处理掉这一点是通过javalangRunnable

知识大全 在 Java 程序设计中处理 DOM 异常

在Java程序设计中处理DOM异常  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在使用基于Ja

知识大全 java性能优化-之二

  .异常(Exceptions)  JAVA语言中提供了try/catch来发方便用户捕捉异常进行异常的处理但是如果使用不当也会给JAVA程序的性能带来影响因此要注意以下两点  ()避免对应用程序的