@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
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール