例外処理は、パッシブ処理 (自分で処理できない場合は、呼び出された場所でスローをスローします。例外は解決されず、スローされるだけです) とアクティブな処理に分けられます。処理 (例外のキャッチ、例外のキャッチは try-catch ステートメントまたは try-catch-finally ステートメントによって実現されます)。
(推奨チュートリアル: java 入門チュートリアル)
ネガティブ処理:
構文:
public void m1() throws 异常类名1,异常类名2{}
コンパイルを通過させます。
スローされた例外が非実行時 (チェック済み) 例外である場合、このメソッドを呼び出す呼び出し元はそれを処理する必要があります。
スローされた例外が実行時 (チェックされていない) 例外である場合、それは処理できるかどうかが決まります。
アクティブな処理: (例外キャッチ)
例外を直接キャッチして処理します。
構文:
try{ //异常代码 }catch(异常类名 引用名){ //当异常产生执行的代码 }
try の後の catch コード ブロックは、1 つのみと正常に一致します。
catch の後に宣言された例外が親クラスの場合、キャッチできる例外はすべてそれ自体のサブクラス例外です (ポリモーフィズムの現れ)。
注: catch コード ブロックが例外をキャッチするときは、親クラスの例外の前にサブクラスの例外を定義する必要があります。そうしないと、コンパイル エラーが発生します。
(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)
最後にコード ブロック: このコード ブロック内のコードは確実に実行され、リソースを閉じるためによく使用されます。
try{ }catch(){ }finally{ //无论是否产生异常,一定会去执行的代码 }
注:finally コード ブロック内で return ステートメントを定義しないでください。
例:
package work; import java.io.EOFException; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.SQLException; import java.util.Scanner; /** * @author 超伟 * @date 2019年5月13日 * @version 1.0.0 */ public class t4 { public static void main(String[] args) { System.out.println("main1"); int n; Scanner sc = new Scanner(System.in); n = sc.nextInt(); ma(n); System.out.println("main2"); } public static void ma(int n){ try { System.out.println("m1"); mb(n); System.out.println("m2"); } catch (EOFException e) { //e.printStackTrace(); System.out.println("EOFException "); } catch (IOException e) { System.out.println("IOException e111"); }catch (SQLException e) { System.out.println("SQLException"); }catch (Exception e) { System.out.println("Exception"); }finally{ System.out.println("in finally"); } } public static void mb(int n) throws Exception { System.out.println("mb1"); if (n==1) { throw new EOFException(); } if (n==2) { throw new FileNotFoundException(); } if (n==3) { throw new SQLException(); } if (n==4) { throw new NullPointerException(); } System.out.println("mb2"); } } 程序运行结果为: main1 1 m1 mb1 EOFException in finally main2
以上がJavaで例外を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。