-
- すべてのスーパー・インタフェース:
Event
,Locatable
,LocatableEvent
,Mirror
public interface ExceptionEvent extends LocatableEvent
ターゲットVMの例外通知。 現在有効なexception request
を満たす例外がスローされると、このクラスのインスタンスを含んでいるevent set
がVMのイベント・キューに追加されます。 例外が非ネイティブ・メソッドからスローされた場合、例外イベントは例外がスローされた位置で生成される。 例外がネイティブ・メソッドからスローされた場合、例外がスローされたあとに到達した最初の非ネイティブ位置で例外イベントが生成されます。- 導入されたバージョン:
- 1.3
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 Location
catchLocation()
例外がキャッチされる位置を取得します。ObjectReference
exception()
スローされた例外オブジェクトを取得します。-
インタフェース com.sun.jdi.event.LocatableEventで宣言されたメソッド
thread
-
インタフェース com.sun.jdi.Mirrorで宣言されたメソッド
toString, virtualMachine
-
-
-
-
メソッドの詳細
-
exception
ObjectReference exception()
スローされた例外オブジェクトを取得します。 例外オブジェクトは、ターゲットVM内のThrowable
またはサブクラスのインスタンスです。- 戻り値:
- ターゲットVM内でスローされたオブジェクトをミラー化する
ObjectReference
。
-
catchLocation
Location catchLocation()
例外がキャッチされる位置を取得します。 例外は、スローの時点で、その例外を処理するtry文内で現在の位置が動的に囲まれている場合にキャッチされると考えられます。 詳細は、JVM仕様を参照してください。 このようなtry文がある場合は、キャッチの位置は適切なcatch節の最初のコード・インデックスになります。例外の発生時に呼出しスタック内にネイティブ・メソッドが存在する場合は、返されるキャッチ位置についてノートすべき重要な制限があります。 そのような場合、呼出しスタック上のネイティブ・メソッドによって例外が処理されるかどうかは予測できません。 そのため、ここでキャッチされないと考えられる例外が、実際にはネイティブ・メソッドによって処理され、ターゲットVMを終了させない可能性があります。 さらに、ここで返されるキャッチ位置に、例外をスローしたスレッドが到達すると見なすこともできません。 現在位置とキャッチ位置との間にネイティブ・フレームが存在する場合には、例外が代わりにネイティブ・メソッド内で処理され、クリアされる可能性があります。
ソース・コードにtry-catchブロックが明示的に指定されていない場合は、コンパイラによってtry-catchブロックが生成されることがあります。たとえば、
synchronized
ブロックとfinally
ブロックのために生成されたコードに暗黙のtry-catchブロックが含まれることがあります。 例外のスロー時にその種の暗黙的に生成されたtry-catchブロックが呼出しスタック上に存在する場合は、ソース・コード上では例外がキャッチされないように見えるとしても、例外がキャッチされると考えられます。- 戻り値:
- 例外がキャッチされる
Location
、または例外がキャッチされない場合はnull。
-
-