Skip to content

Commit 1394258

Browse files
committed
py/objset: Include the failed key in a KeyError raised from set.remove.
1 parent 2ac1364 commit 1394258

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

py/objset.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ STATIC mp_obj_t set_remove(mp_obj_t self_in, mp_obj_t item) {
380380
check_set(self_in);
381381
mp_obj_set_t *self = MP_OBJ_TO_PTR(self_in);
382382
if (mp_set_lookup(&self->set, item, MP_MAP_LOOKUP_REMOVE_IF_FOUND) == MP_OBJ_NULL) {
383-
nlr_raise(mp_obj_new_exception(&mp_type_KeyError));
383+
nlr_raise(mp_obj_new_exception_arg1(&mp_type_KeyError, item));
384384
}
385385
return mp_const_none;
386386
}

tests/basics/set_remove.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
print(list(s))
55
try:
66
print(s.remove(1), "!!!")
7-
except KeyError:
8-
pass
7+
except KeyError as er:
8+
print('KeyError', er.args[0])
99
else:
1010
print("failed to raise KeyError")
1111

0 commit comments

Comments
 (0)