Fix: use rb_rescue, not rb_protect