Presentation is loading. Please wait.

Presentation is loading. Please wait.

アルゴリズムとデータ構造演習(7月1日) 例外処理 2019/5/8.

Similar presentations


Presentation on theme: "アルゴリズムとデータ構造演習(7月1日) 例外処理 2019/5/8."— Presentation transcript:

1 アルゴリズムとデータ構造演習(7月1日) 例外処理 2019/5/8

2 異常事態の発生!? そういうことは考えない。 最悪 Que sera, sera! とりあえずプログラム終了。 使えない…
そういうことは考えない。 最悪 Que sera, sera! とりあえずプログラム終了。 使えない… 例外処理で処理する。 ベスト ファイルを閉じる。 デバイスを開放する。などなど… 2019/5/8

3 例外処理の方法 try { 異常事態が起きそうなコードを書く。 } catch (ExceptionType1 param1) {
} finally { 必ず実行したい処理を書く。 } 2019/5/8

4 例外(Exception)の型 Exception ClassNotFoundException
IllegalAccessException InstantiationException InterruptedException NoSuchFieldException NoSuchMethodException RuntimeException 2019/5/8

5 例外(RuntimeException)の型
ArrayIndexOutOfBoundsException ArithmeticException ClassCastException NegativeArraySizeException NullPointerException NumberFormatException SecurityException StringIndexOutOfBoundsException 2019/5/8

6 例外を投げる(かもしれない)関数 public static void aMethod() throw Exception { …
throw new Exception(“エラーメッセージ”); } 2019/5/8

7 例外を投げる(かもしれない)関数 public static void aMethod() throw Exception { …
throw anObject; } anObjectは、例外のサブクラスでなければならない 2019/5/8

8 例外を投げる(かもしれない)関数 public static void aMethod() throw Exceptiontype { …
try { } catch (Exceptiontype param) { throw param; 2019/5/8

9 例外を受け取れる関数 public static void main() { try {
exceptionThrownableMethod(); } catch (Exception e) { System.err.println(e.getMessage()+”\n”); exception.printStackTrace(); 呼び出しの履歴を表示する。 2019/5/8

10 DivideByZeroTestプログラム
Jframe ActionListener 多重継承 DivideByZeroTest ArithmeticException 例外クラスのサブクラス DivideByZeroException 2019/5/8


Download ppt "アルゴリズムとデータ構造演習(7月1日) 例外処理 2019/5/8."

Similar presentations


Ads by Google