|
Java Debug Interface | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface ExceptionEvent
ターゲット VM 内での例外の通知です。現在有効になっている 例外要求
を満たす例外がスローされると、このクラスのインスタンスを含むイベントセット
がこの VM のイベントキューに追加されます。非ネイティブメソッドから例外がスローされる場合は、例外イベントは例外がスローされた位置で生成されます。ネイティブメソッドから例外がスローされる場合は、例外イベントは、例外がスローされたあとに最初に達した非ネイティブの位置で生成されます。
メソッドの概要 | |
---|---|
Location |
catchLocation()
例外がキャッチされる位置を取得します。 |
ObjectReference |
exception()
スローされた例外オブジェクトを取得します。 |
インタフェース com.sun.jdi.event.LocatableEvent から継承されたメソッド |
---|
thread |
インタフェース com.sun.jdi.event.Event から継承されたメソッド |
---|
request |
インタフェース com.sun.jdi.Mirror から継承されたメソッド |
---|
toString, virtualMachine |
インタフェース com.sun.jdi.Locatable から継承されたメソッド |
---|
location |
メソッドの詳細 |
---|
ObjectReference exception()
Throwable
のインスタンス、またはターゲット VM 内のサブクラスになります。
ObjectReference
Location catchLocation()
例外の発生時に呼び出しスタックにネイティブメソッドがある場合は、返されるキャッチの位置について重要な制約があります。この場合は、呼び出しスタックのネイティブメソッドによって例外が処理されるかどうかは予測できません。したがって、ここでキャッチされなかったと見なされた例外が、実際には、ネイティブメソッドによって処理されたため、ターゲット VM が終了しないことがあります。また、ここで返されたキャッチ位置に、スロー側のスレッドが達するかどうかも予測できません。現在の位置とキャッチ位置の間にネイティブフレームがある場合は、例外は、代わりにそのネイティブメソッドで処理され、解除されることがあります。
ソースコードに try-catch ブロックが明示的に指定されていない場合は、コンパイラによって try-catch ブロックが生成されることがあります。たとえば、synchronized
ブロックと finally
ブロックのコードが生成されたときに、暗黙の try-catch ブロックが生成されることがあります。例外がスローされたときに、呼び出しスタックにこのような暗黙に生成された try-catch が存在する場合は、例外は、ソースコードを調べてもキャッチされないように見える場合でも、キャッチされたと見なされます。
Location
。例外がキャッチされない場合は null
|
Java Debug Interface | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |