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