////////////////////////////////////////////////////////////////////////////////
//  << j261a.java >>
//
//  クラス(6):例外(基本的な例外処理)
//
//  基本的な例外処理を確認する。
//
//  (1)tryブロック
//    (2)例外発生
//    (3)catchブロック:ArithmeticException
//  (4)catchブロック:Exception)
//  (5)finallyブロック
//
////////////////////////////////////////////////////////////////////////////////

class j261a {
  public static void main(String args[]) {

    System.out.println("プログラム開始");

    try { //(1)
      System.out.println("(1)tryブロック開始");
      int a,b;
      a = 1;
      b = 1/(a-1); //(2)
      System.out.println("(1)tryブロック終了");

    } catch ( ArithmeticException e ) { //(3)
      System.out.println("(3)catchブロック(ArithmeticException)開始");
      System.out.println(e); // エラーの詳細を表示。
      System.out.println("(3)catchブロック(ArithmeticException)終了");

    } catch ( Exception e ) { //(4)
      System.out.println("(4)catchブロック(Exception)開始");
      System.out.println(e); // エラーの詳細を表示。
      System.out.println("(4)catchブロック(Exception)終了");

    } finally { //(5)
      System.out.println("(5)finallyブロック開始");
      System.out.println("(5)finallyブロック終了");
    }

    System.out.println("プログラム終了");

  }

}
実行結果
% javac j261a.java
% java j261a
プログラム開始
(1)tryブロック開始
(3)catchブロック(ArithmeticException)開始
java.lang.ArithmeticException: / by zero
(3)catchブロック(ArithmeticException)終了
(5)finallyブロック開始
(5)finallyブロック終了
プログラム終了