インタフェースCodeBuilder.CatchBuilder
- 含まれているインタフェース:
CodeBuilder
- 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明catching
(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。void
catchingAll
(Consumer<CodeBuilder.BlockCodeBuilder> catchAllHandler) すべての例外を捕捉する"catch"ブロックを追加します。catchingMulti
(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。
-
メソッドの詳細
-
catching
CodeBuilder.CatchBuilder catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。catchブロックが入力されると、捕捉された例外がオペランド・スタックの先頭に表示されます。
catchブロックの
CodeBuilder.BlockCodeBuilder.breakLabel()
は、CodeBuilder.trying(java.util.function.Consumer<java.lang.classfile.CodeBuilder.BlockCodeBuilder>, java.util.function.Consumer<java.lang.classfile.CodeBuilder.CatchBuilder>)
のtryHandler
ブロックのbreakラベルに対応します。例外のタイプが
null
の場合、catchブロックはすべての例外を捕捉します。- パラメータ:
exceptionType
- 捕捉する例外のタイプはnull
ですcatchHandler
- catchブロックの本文を生成するためのCodeBuilder.BlockCodeBuilder
を受信するハンドラ- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException
- 既存のcatchブロックが指定された型の例外を捕捉するか、exceptionType
がプリミティブ型を表す場合- 関連項目:
-
catchingMulti
CodeBuilder.CatchBuilder catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。catchブロックが入力されると、捕捉された例外がオペランド・スタックの先頭に表示されます。
catchブロックの
CodeBuilder.BlockCodeBuilder.breakLabel()
は、CodeBuilder.trying(java.util.function.Consumer<java.lang.classfile.CodeBuilder.BlockCodeBuilder>, java.util.function.Consumer<java.lang.classfile.CodeBuilder.CatchBuilder>)
のtryHandler
ブロックのbreakラベルに対応します。例外タイプのリストが空の場合、catchブロックはすべての例外を捕捉します。
- パラメータ:
exceptionTypes
- 捕捉する例外のタイプcatchHandler
- catchブロックの本文を生成するためのCodeBuilder.BlockCodeBuilder
を受信するハンドラ- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException
- 既存のキャッチ・ブロックが指定されたタイプの1つ以上の例外を捕捉する場合- 関連項目:
-
catchingAll
void catchingAll(Consumer<CodeBuilder.BlockCodeBuilder> catchAllHandler) すべての例外を捕捉する"catch"ブロックを追加します。catchブロックの
CodeBuilder.BlockCodeBuilder.breakLabel()
は、CodeBuilder.trying(java.util.function.Consumer<java.lang.classfile.CodeBuilder.BlockCodeBuilder>, java.util.function.Consumer<java.lang.classfile.CodeBuilder.CatchBuilder>)
のtryHandler
ブロックのbreakラベルに対応します。catchブロックが入力されると、捕捉された例外がオペランド・スタックの先頭に表示されます。
- パラメータ:
catchAllHandler
- catchブロックの本文を生成するためのCodeBuilder.BlockCodeBuilder
を受信するハンドラ- スロー:
IllegalArgumentException
- 既存のcatchブロックがすべての例外を捕捉する場合- 関連項目:
-