[Python-3000] raise with traceback?

Georg Brandl g.brandl at gmx.net
Sun Aug 20 18:12:48 CEST 2006


Terry Reedy wrote:
> "Guido van Rossum" <guido at python.org> wrote in message 
> news:ca471dc20608200853i318d1051kc8cc8cfff1b7eb0a at mail.gmail.com...
>> I wonder if "raise ValueError" should still be allowed (as equivalent
>> to "raise ValueError()") or that it should be disallowed.
>
> +1 for disallow.
> 
> raise <exception class instance> is a simple rule to remember.
> 
> Having VE == VE() in certain contexts is/would be like haveing s.len == 
> s.len() or func == func() (a moderately frequent newbie request) in certain 
> contexts.
> 
> Plus, why encourage less-helpful, no message exceptions ;-)

Some exceptions don't need a message, such as StopIteration, and other
possibly user-defined ones meant to be caught immediately in surrounding
code.

Though I agree that it makes explanations (and probably some bits of code)
easier to only allow instances after raise.

Georg



More information about the Python-3000 mailing list