Commit 6d91be37 authored by Guido van Rossum's avatar Guido van Rossum

- Issue 2379: Raise a Py3K warning for __getitem__ or __getslice__ on

  exception instances.
parent 0bfc8969
......@@ -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);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment