summaryrefslogtreecommitdiffhomepage
path: root/src/error.c
diff options
context:
space:
mode:
authorBouke van der Bijl <[email protected]>2016-12-06 14:25:56 -0500
committerClayton Smith <[email protected]>2017-01-11 09:10:12 -0500
commit6be5160eb634e7b045cba83a38675cf14fa16593 (patch)
tree2ff7fc8f2265a4ed83e5058e4a31b6bcc549301b /src/error.c
parentdb1bd078bedcc33bfd3ca4c45f46bc553786bfd8 (diff)
downloadmruby-6be5160eb634e7b045cba83a38675cf14fa16593.tar.gz
mruby-6be5160eb634e7b045cba83a38675cf14fa16593.zip
Fix 36fc1f14 not checking in the right location
Diffstat (limited to 'src/error.c')
-rw-r--r--src/error.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/error.c b/src/error.c
index fda2cd15c..d7facd0b9 100644
--- a/src/error.c
+++ b/src/error.c
@@ -280,8 +280,6 @@ mrb_exc_set(mrb_state *mrb, mrb_value exc)
mrb->exc = 0;
}
else {
- if (!mrb_obj_is_kind_of(mrb, exc, mrb->eException_class))
- mrb_raise(mrb, E_TYPE_ERROR, "exception object expected");
mrb->exc = mrb_obj_ptr(exc);
}
}
@@ -289,6 +287,9 @@ mrb_exc_set(mrb_state *mrb, mrb_value exc)
MRB_API mrb_noreturn void
mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{
+ if (!mrb_obj_is_kind_of(mrb, exc, mrb->eException_class)) {
+ mrb_raise(mrb, E_TYPE_ERROR, "exception object expected");
+ }
mrb_exc_set(mrb, exc);
if (!mrb->gc.out_of_memory) {
exc_debug_info(mrb, mrb->exc);