@634

例外

Advertisement

例外。

コンパイルの時点で検出できない予期しないエラーを例外という。プログラム実行時に発生する。

サンプル

とりあえず例外を発生させてみる。例として配列の範囲外アクセス。
public class Test{
    public static void main(String args[]){
        int[] array = new int[10];

        for(int i = 0; i <= 10; i++){
            array[i] = i;
        }
    }
}
配列arrayは要素が10個だからarray[0]〜array[9]まで。array[10]は範囲外。
コンパイルは通るけれど、実行すると例外が発生する。

実行結果
Exception in thread "main" java.lang ArrayIndexOutOfBoundsException:10
        at Test.main(Test.java:6)
この Exception というのが例外を表している。

例外の種類

例外用のクラスがある。Throwable。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Throwable.html
すべての例外は java.lang.Throwable から派生している。

少し紹介。
例外発生時
ArithmeticException整数を0で割った。
NegativeArraySizeException配列の要素数を負の数にした。
ArrayIndexOutOfBoundsException配列の範囲外にアクセスした。

例外の分類

例外を大きく分類すると次のようになる。
Throwableクラス
Throwableクラスは例外用クラスのスーパークラス。ユーザレベルでは使用できない。

Exceptionクラス
「プログラムで問題発生。でもシステム的に重大な問題ではない」ときの例外。この例外に対する処理は必須

Errorクラス
メモリ不足などのハード的なエラー。例外に対する処理は任意。

RuntimeExceptionクラス
プログラム実行時の例外。例外に対する処理は任意。ちなみにスーパークラスは Exception クラス。

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール