Issue #2341: Add a Py3k warning when raising an exception that doesn't

derive from BaseException.
This commit is contained in:
Guido van Rossum 2008-03-18 04:26:48 +00:00
parent a5573b3153
commit 504153d55b
2 changed files with 11 additions and 1 deletions

View file

@ -3161,6 +3161,15 @@ do_raise(PyObject *type, PyObject *value, PyObject *tb)
type->ob_type->tp_name);
goto raise_error;
}
assert(PyExceptionClass_Check(type));
if (Py_Py3kWarningFlag && PyClass_Check(type)) {
if (PyErr_Warn(PyExc_DeprecationWarning,
"exceptions must derive from BaseException "
"in 3.x") == -1)
goto raise_error;
}
PyErr_Restore(type, value, tb);
if (tb == NULL)
return WHY_EXCEPTION;