mirror of https://github.com/python/cpython
- Issue 2379: Raise a Py3K warning for __getitem__ or __getslice__ on
exception instances.
This commit is contained in:
parent
0bfc896979
commit
6d91be3758
|
@ -12,6 +12,9 @@ What's New in Python 2.6 alpha 2?
|
|||
Core and builtins
|
||||
-----------------
|
||||
|
||||
- Issue 2379: Raise a Py3K warning for __getitem__ or __getslice__ on
|
||||
exception instances.
|
||||
|
||||
- Issue #2371: Add a Py3k warning when catching an exception that
|
||||
doesn't derive from BaseException. Issue #2341: Add a Py3k warning
|
||||
when raising an exception that doesn't derive from BaseException.
|
||||
|
|
|
@ -189,6 +189,12 @@ static PyMethodDef BaseException_methods[] = {
|
|||
static PyObject *
|
||||
BaseException_getitem(PyBaseExceptionObject *self, Py_ssize_t index)
|
||||
{
|
||||
if (Py_Py3kWarningFlag) {
|
||||
if (PyErr_Warn(PyExc_DeprecationWarning,
|
||||
"In 3.x, __getitem__ is not supported for exception "
|
||||
"classes, use args attribute") == -1)
|
||||
return NULL;
|
||||
}
|
||||
return PySequence_GetItem(self->args, index);
|
||||
}
|
||||
|
||||
|
@ -196,6 +202,12 @@ static PyObject *
|
|||
BaseException_getslice(PyBaseExceptionObject *self,
|
||||
Py_ssize_t start, Py_ssize_t stop)
|
||||
{
|
||||
if (Py_Py3kWarningFlag) {
|
||||
if (PyErr_Warn(PyExc_DeprecationWarning,
|
||||
"In 3.x, __getslice__ is not supported for exception "
|
||||
"classes, use args attribute") == -1)
|
||||
return NULL;
|
||||
}
|
||||
return PySequence_GetSlice(self->args, start, stop);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue