From: Brett Cannon Date: Tue, 11 Sep 2007 21:12:14 +0000 (+0000) Subject: Cause passing a string to generator.throw() to raise a deprecation warning. X-Git-Tag: v2.5.2c1~188 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=13bfa3a97b77d722af38e70289e989c764c69765;p=thirdparty%2FPython%2Fcpython.git Cause passing a string to generator.throw() to raise a deprecation warning. --- diff --git a/Misc/NEWS b/Misc/NEWS index 214611bd04ea..24b29eb0a908 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.5.2c1? Core and builtins ----------------- +- Issue #1147: Generators were not raising a DeprecationWarning when a string + was passed into throw(). + - Patch #1031213: Decode source line in SyntaxErrors back to its original source encoding. diff --git a/Objects/genobject.c b/Objects/genobject.c index 4d0c4f6ee843..063b9075dd7e 100644 --- a/Objects/genobject.c +++ b/Objects/genobject.c @@ -262,6 +262,12 @@ gen_throw(PyGenObject *gen, PyObject *args) typ->ob_type->tp_name); goto failed_throw; } + else { + /* String exceptions are deprecated. */ + if (PyErr_Warn(PyExc_DeprecationWarning, + "raising string exceptions is deprecated")) + goto failed_throw; + } PyErr_Restore(typ, val, tb); return gen_send_ex(gen, Py_None, 1);