A generic solution (cont'd) 1 #define RUBY_TRY \ 2 int ruby_jump_tag = 0; \ 3 VALUE ruby_exc = Qnil; \ 4 goto start_of_RUBY_TRY; \ 5 ruby_exception: rb_exc_raise(ruby_exc); \ 6 ruby_jump_tag: rb_jump_tag(ruby_jump_tag); \ 7 start_of_RUBY_TRY: \ 8 try