- 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
|
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
|
- Issue #2371: Add a Py3k warning when catching an exception that
|
||||||
doesn't derive from BaseException. Issue #2341: Add a Py3k warning
|
doesn't derive from BaseException. Issue #2341: Add a Py3k warning
|
||||||
when raising an exception that doesn't derive from BaseException.
|
when raising an exception that doesn't derive from BaseException.
|
||||||
|
|
|
@ -189,6 +189,12 @@ static PyMethodDef BaseException_methods[] = {
|
||||||
static PyObject *
|
static PyObject *
|
||||||
BaseException_getitem(PyBaseExceptionObject *self, Py_ssize_t index)
|
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);
|
return PySequence_GetItem(self->args, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,6 +202,12 @@ static PyObject *
|
||||||
BaseException_getslice(PyBaseExceptionObject *self,
|
BaseException_getslice(PyBaseExceptionObject *self,
|
||||||
Py_ssize_t start, Py_ssize_t stop)
|
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);
|
return PySequence_GetSlice(self->args, start, stop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue