py/objgetitemiter: Make it_iternext() recognize IndexError.

This commit is contained in:
Tom Soulanille 2015-08-29 17:33:21 -07:00 committed by Damien George
parent a3fe307400
commit 6433f71e8f
1 changed files with 3 additions and 2 deletions

View File

@ -47,8 +47,9 @@ STATIC mp_obj_t it_iternext(mp_obj_t self_in) {
return value;
} else {
// an exception was raised
if (mp_obj_get_type(nlr.ret_val) == &mp_type_StopIteration) {
// return MP_OBJ_STOP_ITERATION instead of raising StopIteration
mp_obj_type_t *t = mp_obj_get_type(nlr.ret_val);
if (t == &mp_type_StopIteration || t == &mp_type_IndexError) {
// return MP_OBJ_STOP_ITERATION instead of raising
return MP_OBJ_STOP_ITERATION;
} else {
// re-raise exception