欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java7 异常处理增强,

来源: javaer 分享于  点击 6537 次 点评:243

java7 异常处理增强,


在Java 7发行版中,oracle在异常处理机制上也做了一些不错的更改。这些主要是改进的catch块多余的throws子句。让我们看看他们是如何改变的。

1.改进了Java 7中的catch块

在此功能中,现在您可以在单个catch块中捕获多个异常。在Java 7之前,您只能在每个catch块中仅捕获一个异常。
要指定期望的例外列表,使用竖线('|')字符。
Java程序可在单个catch块中捕获多个异常。

try
{
    //Do some processing which throws NullPointerException;
    throw new NullPointerException();
}
//You can catch multiple exception added after 'pipe' character
catch( NullPointerException npe | IndexOutOfBoundsException iobe )
{
       throw ex;
}

如果一个catch块处理一个以上的异常类型,则该**catch参数是隐式的final**。在此示例中,catch参数exfinal,因此您不能在catch块内为其分配任何值。

2. Java 7中的冗余抛出子句

此功能使您免于在方法声明中使用throws子句。参见下面的示例:

public class MultipleExceptionsInCatchBlock {
 
    public static void main(String[] args)
    {
            sampleMethod();
    }
 
    public static void sampleMethod()
                    //throws Throwable  //No need to do this
    {
        try
        {
            //Do some processing which throws NullPointerException; I am sending directly
            throw new NullPointerException();
        }
        //You can catch multiple exception added after 'pipe' character
        catch(NullPointerException | IndexOutOfBoundsException ex)
        {
            throw ex;
        }
        //Now method sampleMethod() do not need to have 'throws' clause
        catch(Throwable ex)
        {
            throw ex;
        }
    }
}

相关文章

    暂无相关文章
相关栏目:

用户点评