Skip to content

Commit 8ecb896

Browse files
gh-121288: Make error message for index() methods consistent (GH-121395)
Make error message for index() methods consistent Remove the repr of the searched value (which can be arbitrary large) from ValueError messages for list.index(), range.index(), deque.index(), deque.remove() and ShareableList.index(). Make the error messages consistent with error messages for other index() and remove() methods.
1 parent 0e77540 commit 8ecb896

File tree

5 files changed

+10
-5
lines changed

5 files changed

+10
-5
lines changed

Lib/multiprocessing/shared_memory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,6 @@ def index(self, value):
539539
if value == entry:
540540
return position
541541
else:
542-
raise ValueError(f"{value!r} not in this container")
542+
raise ValueError("ShareableList.index(x): x not in list")
543543

544544
__class_getitem__ = classmethod(types.GenericAlias)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
:exc:`ValueError` messages for :meth:`!list.index()`, :meth:`!range.index()`,
2+
:meth:`!deque.index()`, :meth:`!deque.remove()` and
3+
:meth:`!ShareableList.index()` no longer contain the repr of the searched
4+
value (which can be arbitrary large) and are consistent with error messages
5+
for other :meth:`!index()` and :meth:`!remove()` methods.

Modules/_collectionsmodule.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,7 +1293,7 @@ deque_index_impl(dequeobject *deque, PyObject *v, Py_ssize_t start,
12931293
index = 0;
12941294
}
12951295
}
1296-
PyErr_Format(PyExc_ValueError, "%R is not in deque", v);
1296+
PyErr_SetString(PyExc_ValueError, "deque.index(x): x not in deque");
12971297
return NULL;
12981298
}
12991299

@@ -1462,7 +1462,7 @@ deque_remove_impl(dequeobject *deque, PyObject *value)
14621462
}
14631463
}
14641464
if (i == n) {
1465-
PyErr_Format(PyExc_ValueError, "%R is not in deque", value);
1465+
PyErr_SetString(PyExc_ValueError, "deque.remove(x): x not in deque");
14661466
return NULL;
14671467
}
14681468
rv = deque_del_item(deque, i);

Objects/listobject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3244,7 +3244,7 @@ list_index_impl(PyListObject *self, PyObject *value, Py_ssize_t start,
32443244
else if (cmp < 0)
32453245
return NULL;
32463246
}
3247-
PyErr_Format(PyExc_ValueError, "%R is not in list", value);
3247+
PyErr_SetString(PyExc_ValueError, "list.index(x): x not in list");
32483248
return NULL;
32493249
}
32503250

Objects/rangeobject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ range_index(rangeobject *r, PyObject *ob)
655655
}
656656

657657
/* object is not in the range */
658-
PyErr_Format(PyExc_ValueError, "%R is not in range", ob);
658+
PyErr_SetString(PyExc_ValueError, "range.index(x): x not in range");
659659
return NULL;
660660
}
661661

0 commit comments

Comments
 (0)