1. 説明
(1) 実行時例外の場合、明示的な処理なしで処理できます
(2) コンパイル時例外の場合、処理する必要があります明示的に
#2. メソッド 1:
try{ // 可能出现异常的代码 }catch(Exption1 e1){ // 处理方式一 }catch(Exption2 e2){ // 处理方式二 }finally{ // 一定要执行的代码 }
Note:
(1) try で宣言された変数は、ローカル変数と同様に、 try{} ステートメントを除いて呼び出されます
(2) catch ステートメントの内部は例外オブジェクトを処理します: e.getMessage(); e.printStackTrace()
(3) 複数の catch ステートメントtry でスローされた例外クラスのオブジェクトは、catch の例外クラスの型と上から下まで一致します。満たされると、catch 内のコードが実行されます。実行後、飛び出します。複数の catch ステートメント
(4) 例外が処理されると、後続のコードは実行を継続します。
(5) catch 内の複数の例外タイプが「並列」関係にある場合、順序は前後両方で変わります。 catch 内の複数の例外タイプが「include」関係にある場合、サブクラスは処理のために親クラスの前に配置する必要があります。そうでない場合は、エラーが報告されます
(6) 最後はオプションです
(7) 最後に、try または catch に未処理の例外がまだあるかどうか、および return ステートメントがあるかどうかに関係なく、必ず実行されるコードを格納します。
(8) try-catch は、ネスト可能
3. メソッド 2:
(1) メソッドの宣言時に、例外オブジェクトの型を明示的にスローします
( 2) 形式:
public static void method() throws Exception{}
(3) このメソッド内で例外が発生すると、例外クラスのオブジェクトがメソッドの呼び出し元にスローされます。
(4) 例外オブジェクトはメインまでレイヤーごとに上向きに投げることができます。もちろん、上向きに投げるプロセス中に、try-catch-finally を通じて処理できます。
以上がJava例外処理の分類問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。