summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-05-14 23:22:08 +0900
committerYukihiro Matsumoto <[email protected]>2012-05-14 23:22:08 +0900
commit1c6621d5f0f594e01326a75111f1e30c714fd341 (patch)
tree49d3a0a2650a3d3a0e18372839a42ba51bf21a45 /src/vm.c
parent8085817cb5737ca0c2a4afb5e3d013a395e12eb4 (diff)
downloadmruby-1c6621d5f0f594e01326a75111f1e30c714fd341.tar.gz
mruby-1c6621d5f0f594e01326a75111f1e30c714fd341.zip
OP_STOP to return exception object on error
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index cfb404ee3..7049bbb45 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1562,6 +1562,9 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
/* stop VM */
L_STOP:
mrb->jmp = prev_jmp;
+ if (mrb->exc) {
+ return mrb_obj_value(mrb->exc);
+ }
return regs[irep->nlocals];
}