Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d204a71

Browse files
committed
Make bytesobject raise ValueError instead of TypeError again (thanks, Nick)
1 parent 89da5d7 commit d204a71

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

Lib/test/test_bytes.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ def test_constructor_value_errors(self):
6060
self.assertRaises(ValueError, bytes, [-1])
6161
self.assertRaises(ValueError, bytes, [-sys.maxint])
6262
self.assertRaises(ValueError, bytes, [-sys.maxint-1])
63-
self.assertRaises(TypeError, bytes, [-sys.maxint-2])
64-
self.assertRaises(TypeError, bytes, [-10**100])
63+
self.assertRaises(ValueError, bytes, [-sys.maxint-2])
64+
self.assertRaises(ValueError, bytes, [-10**100])
6565
self.assertRaises(ValueError, bytes, [256])
6666
self.assertRaises(ValueError, bytes, [257])
6767
self.assertRaises(ValueError, bytes, [sys.maxint])
68-
self.assertRaises(TypeError, bytes, [sys.maxint+1])
69-
self.assertRaises(TypeError, bytes, [10**100])
68+
self.assertRaises(ValueError, bytes, [sys.maxint+1])
69+
self.assertRaises(ValueError, bytes, [10**100])
7070

7171
def test_repr(self):
7272
self.assertEqual(repr(bytes()), "bytes()")

Objects/bytesobject.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ bytes_contains(PyBytesObject *self, PyObject *value)
245245
if (PyBytes_Check(value))
246246
return bytes_substring(self, (PyBytesObject *)value);
247247

248-
ival = PyNumber_AsSsize_t(value, PyExc_TypeError);
248+
ival = PyNumber_AsSsize_t(value, PyExc_ValueError);
249249
if (ival == -1 && PyErr_Occurred())
250250
return -1;
251251
if (ival < 0 || ival >= 256) {
@@ -365,7 +365,7 @@ bytes_setitem(PyBytesObject *self, Py_ssize_t i, PyObject *value)
365365
if (value == NULL)
366366
return bytes_setslice(self, i, i+1, NULL);
367367

368-
ival = PyNumber_AsSsize_t(value, PyExc_TypeError);
368+
ival = PyNumber_AsSsize_t(value, PyExc_ValueError);
369369
if (ival == -1 && PyErr_Occurred())
370370
return -1;
371371

@@ -448,7 +448,7 @@ bytes_init(PyBytesObject *self, PyObject *args, PyObject *kwds)
448448
}
449449

450450
/* Is it an int? */
451-
count = PyNumber_AsSsize_t(arg, PyExc_TypeError);
451+
count = PyNumber_AsSsize_t(arg, PyExc_ValueError);
452452
if (count == -1 && PyErr_Occurred())
453453
PyErr_Clear();
454454
else {
@@ -500,7 +500,7 @@ bytes_init(PyBytesObject *self, PyObject *args, PyObject *kwds)
500500
}
501501

502502
/* Interpret it as an int (__index__) */
503-
value = PyNumber_AsSsize_t(item, PyExc_TypeError);
503+
value = PyNumber_AsSsize_t(item, PyExc_ValueError);
504504
Py_DECREF(item);
505505
if (value == -1 && PyErr_Occurred())
506506
goto error;

0 commit comments

Comments
 (0)