アルゴリズムとデータ構
造演習(7月1日)
例外処理
2015/10/1
1
異常事態の発生!?
そういうことは考えない。
Que sera, sera!
最悪
とりあえずプログラム終了。 使えない…
例外処理で処理する。
ベスト
ファイルを閉じる。
デバイスを開放する。などなど…
2015/10/1
2
例外処理の方法
try {
異常事態が起きそうなコードを書く。
} catch (ExceptionType1 param1) {
ExceptionType1の例外を処理する。
} catch (ExceptionType2 param2) {
ExceptionType2の例外を処理する。
} finally {
必ず実行したい処理を書く。
}
2015/10/1
3
例外(Exception)の型
Exception
ClassNotFoundException
IllegalAccessException
InstantiationException
InterruptedException
NoSuchFieldException
NoSuchMethodException
RuntimeException
2015/10/1
4
例外(RuntimeException)の型
RuntimeException
ArrayIndexOutOfBoundsException
ArithmeticException
ClassCastException
NegativeArraySizeException
NullPointerException
NumberFormatException
SecurityException
StringIndexOutOfBoundsException
2015/10/1
5
例外を投げる(かもしれない)関数
public static void aMethod() throw Exception {
…
throw new Exception(“エラーメッセージ”);
…
}
2015/10/1
6
例外を投げる(かもしれない)関数
public static void aMethod() throw Exception {
…
throw anObject;
…
}
anObjectは、例外のサブクラスでなければならない
2015/10/1
7
例外を投げる(かもしれない)関数
public static void aMethod() throw Exceptiontype {
…
try {
}
catch (Exceptiontype param) {
…
throw param;
…
}
2015/10/1
8
例外を受け取れる関数
public static void main() {
try {
exceptionThrownableMethod();
}
catch (Exception e) {
System.err.println(e.getMessage()+”\n”);
exception.printStackTrace();
呼び出しの履歴を表示する。
}
2015/10/1
9
DivideByZeroTestプログラム
Jframe
ActionListener
多重継承
DivideByZeroTest
ArithmeticException
例外クラスのサブクラス
DivideByZeroException
2015/10/1
10
© Copyright 2026 ExpyDoc