diff options
Diffstat (limited to 'src/error.c')
| -rw-r--r-- | src/error.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/error.c b/src/error.c index db516d766..f7e5995e6 100644 --- a/src/error.c +++ b/src/error.c @@ -15,6 +15,7 @@ #include "mruby/variable.h" #include "mruby/debug.h" #include "mruby/error.h" +#include "mrb_throw.h" mrb_value mrb_exc_new(mrb_state *mrb, struct RClass *c, const char *ptr, long len) @@ -221,7 +222,7 @@ mrb_exc_raise(mrb_state *mrb, mrb_value exc) mrb_p(mrb, exc); abort(); } - mrb_longjmp(mrb); + MRB_THROW(mrb->jmp); } void @@ -431,6 +432,10 @@ mrb_sys_fail(mrb_state *mrb, const char *mesg) } } +#ifdef MRB_ENABLE_CXX_EXCEPTION +mrb_int mrb_jmpbuf::jmpbuf_id = 0; +#endif + void mrb_init_exception(mrb_state *mrb) { |
