インタフェースExceptionCatch

すべてのスーパー・インタフェース:
ClassFileElement, CodeElement, PseudoInstruction

public sealed interface ExceptionCatch extends PseudoInstruction
Code属性のexception_table配列内のエントリをモデル化する擬似命令。 Javaソース・コードで(JVMS 3.12)ブロックを捕捉し、最後に(JVMS 3.14)ブロックを例外表エントリにコンパイルします。 CodeModelのコンテンツのトラバース時にCodeElementとして提供されます。

例外表のエントリはコンポジットです:

ExceptionCatch(
    Label handler,
    Label tryStart,
    Label tryEnd,
    Optional<ClassEntry> catchType
)

Java Virtual Machine仕様を参照してください:
4.7.3 Code属性
導入されたバージョン:
24
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    捕捉する例外のタイプを返します。このハンドラがすべて捕捉される場合は空を返します。
    例外に対するハンドラを返します。
    of(Label handler, Label tryStart, Label tryEnd)
    すべてを捕捉するための例外表擬似命令を返します。
    of(Label handler, Label tryStart, Label tryEnd, Optional<ClassEntry> catchTypeEntry)
    例外表の擬似命令を返します。
    保護されている命令の命令範囲の終了を返します。
    保護されている命令の命令範囲の先頭を返します。
  • メソッドの詳細

    • handler

      Label handler()
      例外に対するハンドラを返します。
      戻り値:
      例外に対するハンドラ
    • tryStart

      Label tryStart()
      保護されている命令の命令範囲の先頭を返します。
      戻り値:
      保護命令の命令範囲の開始
    • tryEnd

      Label tryEnd()
      保護されている命令の命令範囲の終了を返します。
      戻り値:
      保護されている命令の命令範囲の終了
    • catchType

      Optional<ClassEntry> catchType()
      捕捉する例外のタイプを返します。このハンドラがすべて捕捉される場合は空を返します。
      戻り値:
      捕捉する例外のタイプ。このハンドラがすべて捕捉される場合は空
    • of

      static ExceptionCatch of(Label handler, Label tryStart, Label tryEnd, Optional<ClassEntry> catchTypeEntry)
      例外表の擬似命令を返します。
      パラメータ:
      handler - 例外に対するハンドラ
      tryStart - 保護命令の命令範囲の開始
      tryEnd - 保護されている命令の命令範囲の終了
      catchTypeEntry - 捕捉する例外のタイプ、またはこのハンドラが無条件の場合は空
      戻り値:
      例外表の擬似命令
    • of

      static ExceptionCatch of(Label handler, Label tryStart, Label tryEnd)
      すべてを捕捉するための例外表擬似命令を返します。
      パラメータ:
      handler - 例外に対するハンドラ
      tryStart - 保護命令の命令範囲の開始
      tryEnd - 保護されている命令の命令範囲の終了
      戻り値:
      すべてをキャッチする例外表の擬似命令