インタフェースExceptionEvent

すべてのスーパー・インタフェース:
Event, Locatable, LocatableEvent, Mirror

public interface ExceptionEvent extends LocatableEvent
ターゲットVMの例外通知。 現在有効なexception requestを満たす例外がスローされると、このクラスのインスタンスを含んでいるevent setがVMのイベント・キューに追加されます。 例外が非ネイティブ・メソッドからスローされた場合、例外イベントは例外がスローされた位置で生成される。 例外がネイティブ・メソッドからスローされた場合、例外がスローされたあとに到達した最初の非ネイティブ位置で例外イベントが生成されます。
導入されたバージョン:
1.3
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    例外がキャッチされる位置を取得します。
    スローされた例外オブジェクトを取得します。

    インタフェースEventで宣言されたメソッド

    request
    修飾子と型
    メソッド
    説明
     

    インタフェースLocatableで宣言されるメソッド

    location
    修飾子と型
    メソッド
    説明
    このミラーに関連した実行可能コードが存在する場合、このミラーのLocationを返します。

    インタフェースで宣言されたメソッド LocatableEvent

    thread
    修飾子と型
    メソッド
    説明
    このイベントが発生したスレッドを返します。

    インタフェースMirrorで宣言されたメソッド

    toString, virtualMachine
    修飾子と型
    メソッド
    説明
    このミラーについて説明する文字列を返します。
    このミラーが属する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。