summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-03-22 16:44:58 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-03-22 17:55:42 +0200
commit61fd20f168e96efe1f85246401ee4871a14ad9bd (patch)
treececd3e2dd4ade52816febd876afad74b3aaa1028 /py
parentc0abc28aa1211204c589b9e8062d7c2874b5f083 (diff)
downloadmicropython-61fd20f168e96efe1f85246401ee4871a14ad9bd.tar.gz
micropython-61fd20f168e96efe1f85246401ee4871a14ad9bd.zip
objgenerator: Implement throwing exceptions out of generator.
Diffstat (limited to 'py')
-rw-r--r--py/objgenerator.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/py/objgenerator.c b/py/objgenerator.c
index fd7329fb0b..fe927d84e4 100644
--- a/py/objgenerator.c
+++ b/py/objgenerator.c
@@ -103,8 +103,10 @@ STATIC mp_obj_t gen_next_send(mp_obj_t self_in, mp_obj_t send_value) {
return *self->sp;
case MP_VM_RETURN_EXCEPTION:
+ self->ip = 0;
+ nlr_jump(self->state[self->n_state - 1]);
+
default:
- // TODO
assert(0);
return mp_const_none;
}