diff options
author | Damien George <damien.p.george@gmail.com> | 2016-10-17 12:00:19 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-10-17 12:00:19 +1100 |
commit | 2750a7b38e0e5f5d2fbcfc28e89de96cd8da978c (patch) | |
tree | 3c89dbab766ec906b5aaf3dfe8517b55651d827f /py | |
parent | a3edeb9ea5ebd05170af7c1e488724debce41a6f (diff) | |
download | micropython-2750a7b38e0e5f5d2fbcfc28e89de96cd8da978c.tar.gz micropython-2750a7b38e0e5f5d2fbcfc28e89de96cd8da978c.zip |
py/objdict: Actually provide the key that failed in KeyError exception.
The failed key is available as exc.args[0], as per CPython.
Diffstat (limited to 'py')
-rw-r--r-- | py/objdict.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/py/objdict.c b/py/objdict.c index 197a1916fe..624fc12d4d 100644 --- a/py/objdict.c +++ b/py/objdict.c @@ -162,7 +162,7 @@ mp_obj_t mp_obj_dict_get(mp_obj_t self_in, mp_obj_t index) { mp_obj_dict_t *self = MP_OBJ_TO_PTR(self_in); mp_map_elem_t *elem = mp_map_lookup(&self->map, index, MP_MAP_LOOKUP); if (elem == NULL) { - nlr_raise(mp_obj_new_exception_msg(&mp_type_KeyError, "<value>")); + nlr_raise(mp_obj_new_exception_arg1(&mp_type_KeyError, index)); } else { return elem->value; } @@ -178,7 +178,7 @@ STATIC mp_obj_t dict_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) { mp_obj_dict_t *self = MP_OBJ_TO_PTR(self_in); mp_map_elem_t *elem = mp_map_lookup(&self->map, index, MP_MAP_LOOKUP); if (elem == NULL) { - nlr_raise(mp_obj_new_exception_msg(&mp_type_KeyError, "<value>")); + nlr_raise(mp_obj_new_exception_arg1(&mp_type_KeyError, index)); } else { return elem->value; } @@ -283,7 +283,7 @@ STATIC mp_obj_t dict_get_helper(mp_map_t *self, mp_obj_t key, mp_obj_t deflt, mp if (elem == NULL || elem->value == MP_OBJ_NULL) { if (deflt == MP_OBJ_NULL) { if (lookup_kind == MP_MAP_LOOKUP_REMOVE_IF_FOUND) { - nlr_raise(mp_obj_new_exception_msg(&mp_type_KeyError, "<value>")); + nlr_raise(mp_obj_new_exception_arg1(&mp_type_KeyError, key)); } else { value = mp_const_none; } |