<br><br><div><span class="gmail_quote">On 3/13/07, <b class="gmail_sendername">Guido van Rossum</b> &lt;<a href="mailto:guido@python.org">guido@python.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt;<br>&gt; Would this apply to Python code as well? I.e. if you use<br>&gt; a raise statement with a class, it doesn&#39;t get instantiated<br>&gt; immediately? And if you catch it with an except clause which<br>&gt; doesn&#39;t capture the exception, it&#39;s never instantiated?
<br>&gt; That would be a bonus.<br><br>I *think* that&#39;s how it works now, and I don&#39;t intend to break this.</blockquote><div><br>Eh, I don&#39;t see how it can, when you do &#39;raise ExceptionClass(args)&#39; (like you want everyone to use :). It certainly doesn&#39;t, now; the arguments to &#39;raise&#39; are just expressions, there is no specialcasing of calling anything. I don&#39;t believe it does so with the two-argument raise either -- at least, when experimenting, the body of an exception class&#39;s __init__ method is executed before the body of a &#39;finally&#39; suite.
<br></div></div><br>-- <br>Thomas Wouters &lt;<a href="mailto:thomas@python.org">thomas@python.org</a>&gt;<br><br>Hi! I&#39;m a .signature virus! copy me into your .signature file to help me spread!