インタフェースCodeBuilder.CatchBuilder
- 含まれているインタフェース:
CodeBuilder
- 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。voidcatchingAll(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ブロックがすべての例外を捕捉する場合- 関連項目:
-