org.apache.commons.lang.exception
クラス NestableException

java.lang.Object
  拡張java.lang.Throwable
      拡張java.lang.Exception
          拡張org.apache.commons.lang.exception.NestableException
すべての実装インタフェース:
Nestable, Serializable

public class NestableException
extends Exception
implements Nestable

他の例外を内部に持つことのできる全ての例外のベースクラスです。 この例外が投げられた原因となる例外の情報を保持することにより、デバッグを容易にすることを意図しています。 例外のキャッチと再度投げられる処理はさまざまなタイミングで起き、 最初に発生した物意外は NestedException の子孫となります。 最終的に printStackTrace() メソッドを使用して出力されるときには スタックトレースには全ての例外の情報が含まれます。

The base class of all exceptions which can contain other exceptions. It is intended to ease the debugging by carrying on the information about the exception which was caught and provoked throwing the current exception. Catching and rethrowing may occur multiple times, and provided that all exceptions except the first one are descendands of NestedException, when the exception is finally printed out using any of the printStackTrace() methods, the stacktrace will contain the information about all exceptions thrown and caught on the way.

以下のプログラムを実行してください

Running the following program

  1 import org.apache.commons.NestedException;
  2
  3 public class Test {
  4     public static void main( String[] args ) {
  5         try {
  6             a();
  7         } catch(Exception e) {
  8             e.printStackTrace();
  9         }
 10      }
 11
 12      public static void a() throws Exception {
 13          try {
 14              b();
 15          } catch(Exception e) {
 16              throw new NestedException("foo", e);
 17          }
 18      }
 19
 20      public static void b() throws Exception {
 21          try {
 22              c();
 23          } catch(Exception e) {
 24              throw new NestedException("bar", e);
 25          }
 26      }
 27
 28      public static void c() throws Exception {
 29          throw new Exception("baz");
 30      }
 31 }
 

以下のスタックトレースが出力されます:

Yields the following stacktrace:

 java.lang.Exception: baz: bar: foo
    at Test.c(Test.java:29)
    at Test.b(Test.java:22)
 rethrown as NestedException: bar
    at Test.b(Test.java:24)
    at Test.a(Test.java:14)
 rethrown as NestedException: foo
    at Test.a(Test.java:16)
    at Test.main(Test.java:6)
 

バージョン:
$Id: NestableException.java,v 1.1.1.1 2004/02/13 10:02:04 hioki Exp $
作成者:
Rafal Krzewski, Daniel Rall, Kasper Nielsen, Steven Caswell
関連項目:
直列化された形式
翻訳者:
日置 聡
翻訳状況:
初稿(校正者募集中)
翻訳更新日:
2003/08/05

フィールドの概要
private  Throwable cause
          この例外が投げられる原因となった例外またはエラーの参照を保持します。
protected  NestableDelegate delegate
          委譲された多くの処理をもつヘルパーインスタンス。
 
クラス java.lang.Exception から継承したフィールド
 
クラス java.lang.Throwable から継承したフィールド
 
コンストラクタの概要
NestableException()
          詳細メッセージを設定せずに新たな NestableException を生成します。
NestableException(String msg)
          詳細メッセージを設定して新たな NestableException を生成します。
NestableException(String msg, Throwable cause)
          詳細メッセージと原因となる Throwable を設定して新たな NestableException を生成します。
NestableException(Throwable cause)
          原因となる Throwable を設定して新たな NestableException を生成します。
 
メソッドの概要
 Throwable getCause()
          Nestable が実装された例外の原因となった例外またはエラーの参照を返します。
 String getMessage()
          この例外とネストされた Throwable のエラーメッセージを返します。
 String getMessage(int index)
          内部に保持されている Throwable のうち、0 から始まる指定されたインデックスに該当する Throwable のメッセージを返します。
 String[] getMessages()
          この例外と内部にネストされる Throwable のエラーメッセージをStringの配列に格納して返します。
 Throwable getThrowable(int index)
          内部に保持されている Throwable のうち、0 から始まる指定されたインデックスに該当する Throwable を返します。
 int getThrowableCount()
          この Nestable に含まれるネストされた Throwable の数を返します。
 Throwable[] getThrowables()
          この Nestable と、内部にネストされた ThrowableThrowable の配列に格納して返します。
 int indexOfThrowable(Class type)
          内部にネストされた Throwable の中から、最初に見つかった指定された型の 0 から始まるインデックスを返します。
 int indexOfThrowable(Class type, int fromIndex)
          内部にネストされた Throwable から、最初に見つかった指定された型の、検索開始位置より後ろの 0 から始まるインデックスを返します。
 void printPartialStackTrace(PrintWriter out)
          指定された writer に対してルートとなる(ネストされたものを含まない)例外のスタックトレースを出力します。
 void printStackTrace()
           
 void printStackTrace(PrintStream out)
          指定された print stream に対してこの例外のスタックトレースを出力します。
 void printStackTrace(PrintWriter out)
          指定された print writer に対してこの例外のスタックトレースを出力します。
 
クラス java.lang.Throwable から継承したメソッド
fillInStackTrace, getLocalizedMessage, getStackTrace, initCause, setStackTrace, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

delegate

protected NestableDelegate delegate
委譲された多くの処理をもつヘルパーインスタンス。
The helper instance which contains much of the code which we delegate to.


cause

private Throwable cause
この例外が投げられる原因となった例外またはエラーの参照を保持します。
Holds the reference to the exception or error that caused this exception to be thrown.

コンストラクタの詳細

NestableException

public NestableException()
詳細メッセージを設定せずに新たな NestableException を生成します。
Constructs a new NestableException without specified detail message.


NestableException

public NestableException(String msg)
詳細メッセージを設定して新たな NestableException を生成します。
Constructs a new NestableException with specified detail message.

パラメータ:
msg - エラーメッセージ
The error message.

NestableException

public NestableException(Throwable cause)
原因となる Throwable を設定して新たな NestableException を生成します。
Constructs a new NestableException with specified nested Throwable.

パラメータ:
cause - この例外が投げられる原因となった例外またはエラー
the exception or error that caused this exception to be thrown

NestableException

public NestableException(String msg,
                         Throwable cause)
詳細メッセージと原因となる Throwable を設定して新たな NestableException を生成します。
Constructs a new NestableException with specified detail message and nested Throwable.

パラメータ:
msg - エラーメッセージ
The error message.
cause - この例外が投げられる原因となった例外またはエラー
the exception or error that caused this exception to be thrown
メソッドの詳細

getCause

public Throwable getCause()
インタフェース Nestable の記述:
Nestable が実装された例外の原因となった例外またはエラーの参照を返します。
Returns the reference to the exception or error that caused the exception implementing the Nestable to be thrown.

定義:
インタフェース Nestable 内の getCause

getMessage

public String getMessage()
インタフェース Nestable の記述:
この例外とネストされた Throwable のエラーメッセージを返します。
Returns the error message of this and any nested Throwable.

定義:
インタフェース Nestable 内の getMessage

getMessage

public String getMessage(int index)
インタフェース Nestable の記述:
内部に保持されている Throwable のうち、0 から始まる指定されたインデックスに該当する Throwable のメッセージを返します。
Returns the error message of the Throwable in the chain of Throwables at the specified index, numbererd from 0.

定義:
インタフェース Nestable 内の getMessage
パラメータ:
index - 内部に保持されている Throwable のインデックス
the index of the Throwable in the chain of Throwables
戻り値:
エラーメッセージ、インデックスで指定された Throwable にメッセージが設定されていない場合には null
the error message, or null if the Throwable at the specified index in the chain does not contain a message

getMessages

public String[] getMessages()
インタフェース Nestable の記述:
この例外と内部にネストされる Throwable のエラーメッセージをStringの配列に格納して返します。 メッセージを持たない Throwable のメッセージは null で表現されます。 返される配列の長さは原因の数を示す Nestable.getThrowableCount() の返す値と一致します。
Returns the error message of this and any nested Throwables in an array of Strings, one element for each message. Any Throwable not containing a message is represented in the array by a null. This has the effect of cause the length of the returned array to be equal to the result of the {@link #getThrowableCount()} operation.

定義:
インタフェース Nestable 内の getMessages
戻り値:
エラーメッセージ
the error messages

getThrowable

public Throwable getThrowable(int index)
インタフェース Nestable の記述:
内部に保持されている Throwable のうち、0 から始まる指定されたインデックスに該当する Throwable を返します。
Returns the Throwable in the chain of Throwables at the specified index, numbererd from 0.

定義:
インタフェース Nestable 内の getThrowable
パラメータ:
index - 内部に保持される Throwable の 0 から始まるインデックス
the index, numbered from 0, of the Throwable in the chain of Throwables
戻り値:
該当する Throwable
the Throwable

getThrowableCount

public int getThrowableCount()
インタフェース Nestable の記述:
この Nestable に含まれるネストされた Throwable の数を返します。
Returns the number of nested Throwables represented by this Nestable, including this Nestable.

定義:
インタフェース Nestable 内の getThrowableCount
戻り値:
スロー可能オブジェクト(throwable)の数
the throwable count

getThrowables

public Throwable[] getThrowables()
インタフェース Nestable の記述:
この Nestable と、内部にネストされた ThrowableThrowable の配列に格納して返します。
Returns this Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.

定義:
インタフェース Nestable 内の getThrowables
戻り値:
Throwable の配列
the Throwables

indexOfThrowable

public int indexOfThrowable(Class type)
インタフェース Nestable の記述:
内部にネストされた Throwable の中から、最初に見つかった指定された型の 0 から始まるインデックスを返します。 該当するものが見つからなかった場合には -1 を返します。
Returns the index, numbered from 0, of the first occurrence of the specified type in the chain of Throwable Throwables, or -1 if the specified type is not found in the chain.

定義:
インタフェース Nestable 内の indexOfThrowable
パラメータ:
type - 検索対象となる Class
type Class to be found
戻り値:
指定された型が最初に見つかったインデックス、見つからなかった場合には -1
index of the first occurrence of the type in the chain, or -1 if the type is not found

indexOfThrowable

public int indexOfThrowable(Class type,
                            int fromIndex)
インタフェース Nestable の記述:
内部にネストされた Throwable から、最初に見つかった指定された型の、検索開始位置より後ろの 0 から始まるインデックスを返します。 該当するものが見つからなかった場合には -1 を返します。
Returns the index, numbered from 0, of the first Throwable that matches the specified type in the chain of Throwables with an index greater than or equal to the specified index, or -1 if the type is not found.

定義:
インタフェース Nestable 内の indexOfThrowable
パラメータ:
type - 検索対象となる Class
type Class to be found
fromIndex - 検索の開始位置となる 0 から始まるインデックス
the index, numbered from 0, of the starting position in the chain to be searched
戻り値:
指定された型が最初に見つかったインデックス、見つからなかった場合には -1
index of the first occurrence of the type in the chain, or -1 if the type is not found

printStackTrace

public void printStackTrace()

printStackTrace

public void printStackTrace(PrintStream out)
インタフェース Nestable の記述:
指定された print stream に対してこの例外のスタックトレースを出力します。 この例外の原因(となる例外)がある場合にはその情報も出力されます。
Prints the stack trace of this exception to the specified print stream. Includes inforamation from the exception--if any--which caused this exception.

定義:
インタフェース Nestable 内の printStackTrace

printStackTrace

public void printStackTrace(PrintWriter out)
インタフェース Nestable の記述:
指定された print writer に対してこの例外のスタックトレースを出力します。 この例外の原因(となる例外)がある場合にはその情報も出力されます。
Prints the stack trace of this exception to the specified print writer. Includes inforamation from the exception--if any--which caused this exception.

定義:
インタフェース Nestable 内の printStackTrace

printPartialStackTrace

public final void printPartialStackTrace(PrintWriter out)
インタフェース Nestable の記述:
指定された writer に対してルートとなる(ネストされたものを含まない)例外のスタックトレースを出力します。 NestableDelegate から、個々のスタックトレースをバッファに出力するために使用されます。 このメソッドの実装は大体の場合 super.printStackTrace(out); を呼ぶべきです。
Prints the stack trace for this exception only--root cause not included--using the provided writer. Used by {@link org.apache.commons.lang.exception.NestableDelegate} to write individual stack traces to a buffer. The implementation of this method should call super.printStackTrace(out); in most cases.

定義:
インタフェース Nestable 内の printPartialStackTrace
パラメータ:
out - 使用される writer
The writer to use.


このドキュメントは、Ja-Jakartaにより訳されました。 コメントがある場合は report@jajakarta.orgまでお願いします。
Translated into Japanese by jajakarta.org. The original page is here.
Copyright (c) 2002-2003 - Apache Software Foundation