| 
JavaTM 2 Platform Std. Ed. v1.3  | 
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.lang.Throwable
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();
     }
 
| コンストラクタの概要 | |
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 | 
| コンストラクタの詳細 | 
public Throwable()
null を指定して Throwable を新しく構築します。また、このオブジェクトに対して fillInStackTrace() メソッドが呼び出されます。public Throwable(String message)
Throwable を新しく構築します。また、このオブジェクトに対して fillInStackTrace() メソッドが呼び出されます。message - エラーメッセージ。エラーメッセージは getMessage() メソッドによる取り出しのために保存される| メソッドの詳細 | 
public String getMessage()
作成された場合は、この Throwable オブジェクトのエラーメッセージ文字列。エラーメッセージなしで作成された場合は nullpublic String getLocalizedMessage()
Throwable の、地域対応された記述を作成します。サブクラスはこのメソッドをオーバーライドして、ロケールに固有のメッセージを作成できます。このメソッドをオーバーライドしないサブクラスの場合は、デフォルトの実装によって getMessage() と同じ結果が返されます。Throwable の、地域対応された記述public String toString()
Throwable オブジェクトがエラーメッセージ文字列付きで作成された場合、結果は次の 3 つの文字列を連結したものになります。
getMessage() メソッドの結果
Throwable オブジェクトがエラーメッセージ文字列なしで作成された場合は、オブジェクトの実際のクラス名が返されます。Object 内の toStringThrowable の文字列表現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.errpublic void printStackTrace(PrintStream s)
Throwable とそのバックトレースを指定された印刷ストリームに出力します。s - 出力に使用する PrintStreampublic void printStackTrace(PrintWriter s)
Throwable とそのバックトレースを指定されたプリントライターに出力します。s - 出力に使用する PrintWriterpublic 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  | 
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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.