0

catch-throwRubyの構造をJavaで再実装したいだけです。

構造はcatch-throwまるで

catch :halt do
  loop do  # an infinite loop
    puts 'foo'
    throw :halt
  end
end

メッセージfooは一度だけ印刷されます。本質は、あなたthrowが例外ではないということです。したがって、それはすべての s を生き残り、rescueあなたがそれまでコールスタックを伝播しますcatch

Java では、java.lang.Throwable2 つの組み込みサブクラスjava.lang.Exceptionjava.lang.Error. 私が必要としているのはカスタム クラスです。たとえばHalt、 を直接継承します。つまり、サード パーティのライブラリやフレームワークによってキャッチされる可能性Throwableのあるコモンでも、テストに影響を与える可能性のある でもないことを意味します。メソッド宣言または強制を追加する必要がないように、非チェックにする必要があります。そのようなクラスをどのように定義できますか?ExceptionErrorHaltthrows Halttry-catch

4

0 に答える 0