きしもとです

> こんなのではどうでしょうか。

ありがとうございます。
while で catch を囲んだら、というアイディアは%rubyでいただいていたのですが、
うまく抽象化できるのですね。