Java プラットフォーム 1.2

java.lang
クラス Throwable

java.lang.Object
  |
  +--java.lang.Throwable
直接の既知のサブクラス:
Error, Exception

public class Throwable
extends Object
implements Serializable

Throwable クラスは、Java 言語のすべてのエラーと例外のスーパークラスです。このクラス (またはそのサブクラスの内の 1 つ) のインスタンスであるオブジェクトだけが Java Virtual Machine によってスローされるか、Java の throw 構文によってスローされます。同じように、このクラスまたはそのサブクラスの内の 1 つだけが catch 節の引数の型に指定できます。

通常、Error および Exception の 2 つのサブクラスのインスタンスは例外的な状況が発生したことを示すために使用されます。これらのインスタンスは、通常、関連する情報 (スタックトレースデータなど) を格納するために、例外的の状況に応じて新しく作成されます。

通常、Throwable クラスおよびその下位クラスは 2 つのコンストラクタを持ちます。これらのコンストラクタのうちの 1 つは引数をとらず、もう 1 つはエラーメッセージを生成するために使用する String 引数をとります。

Throwable クラスには、作成時のそのスレッドの実行スタックのスナップショットが含まれます。このクラスには、エラーについての詳細な情報を示すメッセージ文字列も含まれます。

例外のキャッチの例を次に示します。

     try {
         int a[] = new int[2];
         a[4];
     } catch (ArrayIndexOutOfBoundsException e) {
         System.out.println("exception: " + e.getMessage());
         e.printStackTrace();
     }
 

導入されたバージョン:
JDK1.0
関連項目:
直列化された形式

コンストラクタの概要
Throwable()
          エラーメッセージ文字列として null を指定して Throwable を新しく構築します。
Throwable(String message)
          指定されたエラーメッセージを持つ Throwable を新しく構築します。
 
メソッドの概要
 Throwable fillInStackTrace()
          実行スタックトレースを埋め込みます。
 String getLocalizedMessage()
          Throwable の地域対応された記述を作成します。
 String getMessage()
          この Throwable オブジェクトのエラーメッセージ文字列を返します。
 void printStackTrace()
          Throwable とそのバックトレースを標準エラーストリームに出力します。
 void printStackTrace(PrintStream s)
          Throwable とそのバックトレースを指定された印刷ストリームに出力します。
 void printStackTrace(PrintWriter s)
          この Throwable とそのバックトレースを指定されたプリントライターに出力します。
 String toString()
          Throwable オブジェクトの短い記述を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Throwable

public Throwable()
エラーメッセージ文字列として null を指定して Throwable を新しく構築します。また、このオブジェクトに対して fillInStackTrace() メソッドが呼び出されます。

Throwable

public Throwable(String message)
指定されたエラーメッセージを持つ Throwable を新しく構築します。また、このオブジェクトに対して fillInStackTrace() メソッドが呼び出されます。
パラメータ:
message - エラーメッセージ。エラーメッセージは getMessage() メソッドによる取り出しのために保存される
メソッドの詳細

getMessage

public String getMessage()
この Throwable オブジェクトのエラーメッセージ文字列を返します。
戻り値:
エラーメッセージ文字列付きで作成された場合は、この Throwable オブジェクトのエラーメッセージ文字列。エラーメッセージなしで作成された場合は null

getLocalizedMessage

public String getLocalizedMessage()
Throwable の地域対応された記述を作成します。サブクラスはこのメソッドをオーバーライドして、ロケールに固有のメッセージを作成できます。このメソッドをオーバーライドしないサブクラスの場合は、デフォルトの実装によって getMessage() と同じ結果が返されます。
導入されたバージョン:
JDK1.1

toString

public String toString()
Throwable オブジェクトの短い記述を返します。この Throwable オブジェクトがエラーメッセージ文字列付きで作成された場合、結果は次の 3 つの文字列を連結したものになります。 Throwable オブジェクトがエラーメッセージ文字列なしで作成された場合は、オブジェクトの実際のクラス名が返されます。
戻り値:
この Throwable の文字列表現
オーバーライド:
クラス Object 内の toString

printStackTrace

public void printStackTrace()
Throwable とそのバックトレースを標準エラーストリームに出力します。このメソッドは、この Throwable オブジェクトのスタックトレースを、System.err フィールドの値であるエラー出力ストリームで出力します。出力の先頭行はこのオブジェクトに対する toString() メソッドの結果になります。残りの行は、以前に fillInStackTrace() メソッドによって記録されたデータを表します。この情報の書式は実装によって多少異なりますが、典型的な書式の例を次に示します。
 java.lang.NullPointerException
         at MyClass.mash(MyClass.java:9)
         at MyClass.crunch(MyClass.java:6)
         at MyClass.main(MyClass.java:3)
 
この例は、次のプログラムを実行することによって作成されたものです。
 
 class MyClass {
 
     public static void main(String[] argv) {
         crunch(null);
     }
     static void crunch(int[] a) {
         mash(a);
     }
 
     static void mash(int[] b) {
         System.out.println(b[0]);
     }
 }
 
関連項目:
System.err

printStackTrace

public void printStackTrace(PrintStream s)
Throwable とそのバックトレースを指定された印刷ストリームに出力します。

printStackTrace

public void printStackTrace(PrintWriter s)
この Throwable とそのバックトレースを指定されたプリントライターに出力します。
導入されたバージョン:
JDK1.1

fillInStackTrace

public Throwable fillInStackTrace()
実行スタックトレースを埋め込みます。このメソッドは、現行スレッドのスタックフレームの現在の状態に関する情報を、この Throwable オブジェクト内に記録します。このメソッドは、次のように、アプリケーションがエラーまたは例外を再度スローするときに便利です。

     try {
         a = b / c;
     } catch(ArithmeticThrowable e) {
         a = Number.MAX_VALUE;
         throw e.fillInStackTrace();
     }
 
戻り値:
この Throwable オブジェクト
関連項目:
printStackTrace()

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.