>
> begin
>   case cond
>   when 'thing1'
>     ...do thing1 stuff...
>   when 'thing2'
>     ...do thing2 stuff...
>     cond = 'thing1'
>     raise
>   end
>
> rescue
>   retry
> end
>
> Raising an exception on a non-error condition seems sort of hackish, and
> I'm also worried that doing this a lot could have performance
> impacts.
>
> Thoughts on other ways to do this?
>
> Dan

The redo keyword might help here, no?  (I've never used it so I'm not sure.)

Gavin