JavaTM 2 Platform
Std. Ed. v1.3

java.lang
クラス Throwable

java.lang.Object
  |
  +--java.lang.Throwable
すべての実装インタフェース:
Serializable
直系の既知のサブクラス:
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() と同じ結果が返されます。
戻り値:
この Throwable の、地域対応された記述
導入されたバージョン:
JDK1.1

toString

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

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 とそのバックトレースを指定された印刷ストリームに出力します。
パラメータ:
s - 出力に使用する PrintStream

printStackTrace

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

fillInStackTrace

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

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

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.