Java day15 [第27章]異常なキャプチャおよび処理

[第27章]異常な捕捉および処理

A.は、異常なプログラムの影響を理解します

  例外:例外は中断命令ストリームにつながるプログラムを指します。

  例外があるプログラムが発生すると、プログラムは、確立された手順に従って完了されず、異常発生時に終了します。

  まだすることができ、通常の非致命的なエラーの完了後にプログラムを確保するために、私たちは完全な例外処理メカニズムを持っている必要があります。

II。例外処理

  あなたが例外を処理したい場合はJAVAの中で、あなたが使用することができます。基本的な処理構造は以下のようである、キャッチ、最終的にこれらのキーワードを、試してみてください。

/ ** * 
試し{ 
    //ステートメントかもしれ異常
} [キャッチ(例外文の例外タイプ){ 
    //例外処理
} [キャッチ(例外文の例外タイプ){ 
    //例外処理
} [キャッチ(例外の例外タイプの文) { 
    //例外処理
} ...] [最後に{ 
    //は関係なく、例外が存在するか否かの実行される。
}] 
** * /

  この形式の組み合わせを使用することができます:キャッチ...してみてください、キャッチ...してみてください...ついに、ついに...してみてください。

例:例外処理:

パブリック クラスEnumo {
     公共 静的 ボイドメイン(文字列引数[]){ 
        するSystem.out.println( "プログラムの実行を開始" );
         試み{ 
            するSystem.out.println( "数学:" +(10/0 )); 
        } キャッチ(はArithmeticException E){ 
            System.out.printlnは(E); 
        } 
        のSystem.out.println( "プログラムを終了します" );     
        } 
}

次のように出力されます。

プログラムの実行を開始し
java.lang.ArithmeticExceptionを: / ZEROによって
完成実行

  それは完全な例外クラスの情報を印刷する場合は、この時点では、()メソッドの取り扱いのprintStackTrace例外を提供するために必要とされます

ウォッチ:

パブリック クラスEnumo {
     公共 静的 ボイドメイン(文字列引数[]){ 
        するSystem.out.println( "プログラムの実行を開始" );
         試み{ 
            するSystem.out.println( "数学:" +(10/0 )); 
        } キャッチ(はArithmeticException E){ 
            e.printStackTrace(); 
        } 
        のSystem.out.println( "プログラムが終了します" );     
        } 
}

このとき、出力は次のようになります。

プログラムの実行を開始し
java.lang.ArithmeticExceptionを: / ZEROによって
    Example.Enumo.main AT(Enumo.java: 45 
プログラムが終了します

 

  例外処理には、それは関係なく実行される異常があるか否かの、例外処理のための出口を示し、最後に、ブロックの最後に追加されてもよいです。

パブリック クラスEnumo {
     公共 静的 ボイドメイン(文字列引数[]){ 
        するSystem.out.println( "プログラムの実行を開始" );
         試み{ 
            するSystem.out.println( "数学:" +(10/0 )); 
        } キャッチ(はArithmeticException E){ 
            e.printStackTrace(); 
        } 最後に{ 
            (のSystem.out.println "かかわらず例外処理プログラムかどうか、番組が続くの[F]" ); 
        } 
        のSystem.out.printlnは( "プログラムを終了します" );     
        } 
}

  でも例外処理ステートメントを使用している場合、正しく異常捉えていない場合、プログラムは(最終的にはまだ実行)中断につながります。

複数の例外を処理3:

  何度もプログラムは複数の例外、複数のcatch異常のキャプチャを生成します。

パブリック クラスEnumo {
     公共 静的 ボイドメイン(文字列引数[]){ 
        するSystem.out.println( "プログラムの実行を開始" );
         試みは{
             int型 X Integer.parseInt =(引数を[0 ]);
             INT Yは、(Integer.parseIntを= [1引数]); 
            のSystem.out.println( "数学:" +(X / Y)); 
        } キャッチ(はArithmeticException E){ 
            e.printStackTrace(); 
        } 最後に{ 
            するSystem.out.println(「[F ]にかかわらず、プログラムを例外処理かどうか、プログラム」は、実行を継続する 
        }
        のSystem.out.println( "プログラムを終了します" );     
        } 
}

  例えば、上記のプログラムは、3つの異常があるでしょう。

    1.場合、プログラムの実行[ない]未処理の入力の初期化パラメータ(javaJavaDemo):java.lang.ArrayIndexOutOfBoundsException

    java.lang.NumberFormatError:未処理2. [プログラム]は入力数字、文字(ジャワJavaDemo AB)ではありません

    3処理された】被除数入力が0であります

  我々の開発者はすでに明確に何の異常を知っている場合は、それがどのように使用され、例外処理は、なぜいくつかの判決文を書きません。

おすすめ

転載: www.cnblogs.com/xiwenxinaini/p/11772858.html