Javaの開発をしたことがないので、やったことをまとめていこうと思います。
基本的なことをやっていくので初心者でも出来るレベルだと思います。
例外処理
[Tashizan1.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// パッケージの宣言 package chapter_5_4; /** * Tashizan1クラス */ public class Tashizan1 { private int kekka = 0; // tasuメソッド(例外が発生する可能性がある) public int tasu(int su) throws Koeta25Exception { kekka = kekka + su; if(kekka > 25) { // クラスをスロー(投げる)します throw new Koeta25Exception (); } return kekka; } } |
[Koeta25Exception.java]
1 2 3 4 5 6 7 8 9 10 11 12 |
// パッケージの宣言 package chapter_5_4; /** * Koeta25Exceptionクラス(例外クラスを継承) */ public class Koeta25Exception extends Exception { // コンストラクタ Koeta25Exception () { System.out.println("25をオーバーしました"); } } |
[Rensyu504_01.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// パッケージの宣言 package chapter_5_4; /** * Rensyu504_01クラス */ public class Rensyu504_01 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // フィールドの定義 int i, kekka; Tashizan1 inst; // インスタンスを生成 inst = new Tashizan1(); for(i=1; i<=10; i++) { // 例外が発生する可能性がある try { kekka = inst.tasu(i); System.out.println(kekka); // 例外が投げられたら捕らえる } catch(Koeta25Exception rei1) { System.out.println("25オーバーエラーをcatchしました!"); System.out.println(""); // catch句の有無に関わらず実行させたい処理がある場合に記述 } finally { System.out.println(i+ " 回目のfinallyを実行しました!"); } } } } |
[表示結果]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
1 1 回目のfinallyを実行しました! 3 2 回目のfinallyを実行しました! 6 3 回目のfinallyを実行しました! 10 4 回目のfinallyを実行しました! 15 5 回目のfinallyを実行しました! 21 6 回目のfinallyを実行しました! 25をオーバーしました 25オーバーエラーをcatchしました! 7 回目のfinallyを実行しました! 25をオーバーしました 25オーバーエラーをcatchしました! 8 回目のfinallyを実行しました! 25をオーバーしました 25オーバーエラーをcatchしました! 9 回目のfinallyを実行しました! 25をオーバーしました 25オーバーエラーをcatchしました! 10 回目のfinallyを実行しました! |
[Rensyu504_04.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// パッケージの宣言 package chapter_5_4; /** * Rensyu504_04クラス */ public class Rensyu504_04 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { int i, kekka; for(i=2; i>=-2; i--) { // 例外が発生する可能性がある try { kekka = 100/i; System.out.println(kekka); // 例外が投げられたら捕らえる } catch(ArithmeticException rei1) { System.out.println("演算エラーです"); } } } } |
[表示結果]
1 2 3 4 5 |
50 100 演算エラーです -100 -50 |
★ポイント
- 例外処理とはプログラム内で発生する正常な動作以外の挙動に対する対応策を記述することであり、「システム例外」と「オリジナル例外」の2種類に大別される。
javaでポイントになるものをまとめてみた newを使用したインスタンスの生成
javaでポイントになるものをまとめてみた 引数/戻り値を使用する
javaでポイントになるものをまとめてみた インスタンス変数とクラス変数
javaでポイントになるものをまとめてみた インターフェース
javaでポイントになるものをまとめてみた ポリモルフィズム
javaでポイントになるものをまとめてみた コレクションクラス