Should geniter.throw() issue a deprecation warning for string exceptions?

My first thought was yes, since that's what raise() does.

On the other hand, one of the key motivating uses for throw() is to allow 
exception propagation on a coroutine stack.  In this use case, the original 
"raise" of the string exception is what should be warned about.  Issuing a 
warning for the line of code calling "throw()" is misleading, since that is 
not the line that is "wrong".

So, here's what I propose to do instead.  Rather than support arbitrary 
string exceptions, which are deprecated anyway, they should only be allowed 
in the case where a non-None traceback argument is provided.  Thus, string 
exceptions could be *propagated* using throw(), but not *initiated*.

Meanwhile, if you throw() a string exception with no traceback argument, 
you would receive the same error you do now.

Any objections?

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to