このチュートリアルの動作環境: Windows 7 システム、Java 10 バージョン、DELL G3 コンピューター。
1. 説明
(1) 実行時例外については、明示的に指定しなくても処理できます。
(2) コンパイル時の例外については、明示的に処理する必要があります。
2. 方法 1:
試す{ //例外を引き起こす可能性のあるコード}catch(Exption1 e1){ // 処理メソッド one}catch(Exption2 e2){ // 処理方法 2}最後に{ // 実行する必要があるコード}
注記:
(1) try で宣言された変数はローカル変数と同様ですが、try{} 文を除いて呼び出すことはできません。
(2) catch ステートメント内には例外オブジェクトの処理があります: e.getMessage(); e.printStackTrace()
(3) 複数の catch ステートメントが使用可能です。try でスローされた例外クラスのオブジェクトが上から下まで catch の例外クラスの型と一致すると、catch のコードが実行後に複数のステートメントが実行されます。キャッチ文が飛び出しました。
(4) 例外が処理された場合、後続のコードは引き続き実行されます。
(5) キャッチ内の複数の例外タイプが「並列」関係にある場合、順序は前でも後でも構いません。キャッチ内の複数の例外タイプが「包含」関係にある場合は、サブクラスを配置する必要があります。それ以外の場合は、エラーを報告します。
(6) 最後はオプションです
(7) 最後に、try や catch で未処理の例外が残っているかどうか、return 文があるかどうかに関係なく、必ず実行されるコードを格納します。
(8) try-catch は相互にネスト可能
3. 方法 2:
(1) メソッド宣言時に例外オブジェクトの型を明示的にスローする
(2) 次のような形式:
public static void method() が例外をスローする{}
(3) このメソッド内で例外が発生した場合、例外クラスのオブジェクトがメソッドの呼び出し元にスローされます。
(4) 例外オブジェクトはメインまで階層ごとに上向きに投げることができます。もちろん、上向きに投げるプロセスでは、try-catch-finally によって処理できます。
以上がJava 例外処理の分類ソリューションです。皆様のお役に立てれば幸いです。その他の Java 学習ガイド: Java チュートリアル