vm_catch_protect 1999 vm_eval.c static VALUE vm_catch_protect(VALUE, rb_block_call_func *, VALUE, int *, rb_thread_t *); vm_catch_protect 2006 vm_eval.c VALUE val = vm_catch_protect(t, (rb_block_call_func *)func, data, &state, th); vm_catch_protect 2015 vm_eval.c return vm_catch_protect(t, func, data, stateptr, GET_THREAD());