diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-03-29 19:44:15 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-03-29 23:18:59 +0200 |
commit | d109676ec0e8ebd648658583842ec3a91952adf3 (patch) | |
tree | 145b5dd9f638b77fafc7d70344eced8adcd3aad7 /py/vm.c | |
parent | f4417a1f95eca0ef0a9446059e3ed070dd5e4b6f (diff) | |
download | micropython-d109676ec0e8ebd648658583842ec3a91952adf3.tar.gz micropython-d109676ec0e8ebd648658583842ec3a91952adf3.zip |
py: Reraising exception possible only in except block.
Diffstat (limited to 'py/vm.c')
-rw-r--r-- | py/vm.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -697,6 +697,9 @@ unwind_return: unum = *ip++; assert(unum <= 1); if (unum == 0) { + if (!currently_in_except_block) { + nlr_jump(mp_obj_new_exception_msg(&mp_type_RuntimeError, "No active exception to reraise")); + } // This assumes that nlr.ret_val holds last raised // exception and is not overwritten since then. obj1 = nlr.ret_val; |