在红宝石中,
begin
# ...
rescue
# ...
end
不会捕获不是StandardError
. 在 C 中,
rb_rescue(x, Qnil, y, Qnil);
VALUE x(void) { /* ... */ return Qnil; }
VALUE y(void) { /* ... */ return Qnil; }
会做同样的事情。我怎样才能rescue Exception => e
从 ruby C 扩展(而不仅仅是rescue => e
)?