Conversation
…ptions`. (`mrb_rescue_exceptions` is mruby implementation of `rb_rescue2`.) Closes mruby#2844, closes mruby#2837.
|
@take-cheeze ++ |
|
Great! But I see one issue. Your test code even contains it: return mrb_rescue_exceptions(mrb, protect_cb, b, protect_cb, r, E_TYPE_ERROR, NULL);
|
|
Hurray! Regarding @cremno's comment, +1 for the array argument idea. It could still be NULL terminated, without sacrificing type safety (or go the length + array route... either way). Thanks, @take-cheeze! |
|
@cremno MRB_API mrb_value mrb_rescue_exceptions(
mrb_state *mrb, mrb_func_t body, mrb_value b_data,
mrb_func_t rescue, mrb_value r_data,
mrb_int classes_len, struct RClasss **classes); |
|
Done changing to array of classes API. ( 15c869f ) |
|
yay |
|
merged |
This pull request implements
mrb_protect,mrb_ensure,mrb_rescue,mrb_rescue_exceptions.(
mrb_rescue_exceptionsis implementation ofrb_rescue2.)The 4 APIs are placed to "mruby-error" mrbgem which is included to 'default' gembox for now.
The changes to
Build#compile_as_cxxis for missing directory when generating C++ file in some cases.