diff options
author | Damien George <damien.p.george@gmail.com> | 2014-01-10 15:20:08 -0800 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-01-10 15:20:08 -0800 |
commit | e9b4b7ac756273ca14507efc6d92c8b003f99c51 (patch) | |
tree | 67d23a573cd2deb19d3ce613ba94b9c52aa918ab | |
parent | 46c9e9713208b3d7bda1db400f3af595ae3d64e9 (diff) | |
parent | 5388a3c29a5f25aa195c5e4f04aae334a8c08bc4 (diff) | |
download | micropython-e9b4b7ac756273ca14507efc6d92c8b003f99c51.tar.gz micropython-e9b4b7ac756273ca14507efc6d92c8b003f99c51.zip |
Merge pull request #135 from pfalcon/simple-raise
Crude attempt to implement RAISE_VARARGS (with args=1 so far only).
-rw-r--r-- | py/vm.c | 7 | ||||
-rw-r--r-- | tests/basics/tests/try1.py | 5 |
2 files changed, 12 insertions, 0 deletions
@@ -474,6 +474,13 @@ bool mp_execute_byte_code_2(const byte **ip_in_out, mp_obj_t *fastn, mp_obj_t ** assert(exc_sp == &exc_stack[0] - 1); return false; + case MP_BC_RAISE_VARARGS: + unum = *ip++; + assert(unum == 1); + obj1 = POP(); + nlr_jump(obj1); + return false; + case MP_BC_YIELD_VALUE: nlr_pop(); *ip_in_out = ip; diff --git a/tests/basics/tests/try1.py b/tests/basics/tests/try1.py index b3b85372d7..56d3075041 100644 --- a/tests/basics/tests/try1.py +++ b/tests/basics/tests/try1.py @@ -4,3 +4,8 @@ try: x.a() except: print(x) + +try: + raise IndexError +except IndexError: + print("caught") |