summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-10-03 18:03:06 +1100
committerDamien George <damien.p.george@gmail.com>2017-10-03 18:03:06 +1100
commit1394258f378e50966daa1d83053067eeee8ef07d (patch)
tree1a1a4340b618bce9e11b12700d886749cb775675
parent2ac1364688cd3ee313661e82a336663551986fc8 (diff)
py/objset: Include the failed key in a KeyError raised from set.remove.
-rw-r--r--py/objset.c2
-rw-r--r--tests/basics/set_remove.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/py/objset.c b/py/objset.c
index 80ed26334..aefc26aac 100644
--- a/py/objset.c
+++ b/py/objset.c
@@ -380,7 +380,7 @@ STATIC mp_obj_t set_remove(mp_obj_t self_in, mp_obj_t item) {
check_set(self_in);
mp_obj_set_t *self = MP_OBJ_TO_PTR(self_in);
if (mp_set_lookup(&self->set, item, MP_MAP_LOOKUP_REMOVE_IF_FOUND) == MP_OBJ_NULL) {
- nlr_raise(mp_obj_new_exception(&mp_type_KeyError));
+ nlr_raise(mp_obj_new_exception_arg1(&mp_type_KeyError, item));
}
return mp_const_none;
}
diff --git a/tests/basics/set_remove.py b/tests/basics/set_remove.py
index 5627516c4..072723911 100644
--- a/tests/basics/set_remove.py
+++ b/tests/basics/set_remove.py
@@ -4,8 +4,8 @@ print(s.remove(1))
print(list(s))
try:
print(s.remove(1), "!!!")
-except KeyError:
- pass
+except KeyError as er:
+ print('KeyError', er.args[0])
else:
print("failed to raise KeyError")