java7例外処理の強化

Javaの7のリリースでは、例外処理メカニズム上のOracleはまた、いくつかの良い変更を行いました。これらは、主にcatchブロックを改善するために、そして句が過剰スローしますのは、彼らがどのように変化するかを見てみましょう。

1.改善されたJavaのcatchブロック7

この機能では、あなたが今することができ、単一のcatchブロックで複数の例外を捕捉しJavaの7の前に、あなただけの各catchブロックでの唯一の例外をキャプチャすることができます。
(「|」)文字を、希望例外リストを指定パイプを使用します。
複数のJavaプログラムは、1つの例外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パラメータがexありfinal、あなたがすることはできませんので、catchブロック内の任意の値を割り当てます。

throws節に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;
        }
    }
}

おすすめ

転載: www.cnblogs.com/qingmiaokeji/p/12555359.html