Brett Cannon wrote: > Anyway, as soon as the cron job posts the PEP to the web site (already > checked into the new svn repository) have a read and start expounding > about how wonderful it is and that there is no qualms with it > whatsoever. =)
You mean aside from the implementation of __getitem__ being broken in BaseException*? ;) Aside from that, I actually do have one real problem and one observation. The problem: The value of ex.args The PEP as written significantly changes the semantics of ex.args - instead of being an empty tuple when no arguments are provided, it is instead a singleton tuple containing the empty string. A backwards compatible definition of BaseException.__init__ would be: def __init__(self, *args): self.args = args self.message = '' if not args else args[0] The observation: The value of ex.message Under PEP 352 the concept of allowing "return x" to be used in a generator to mean "raise StopIteration(x)" would actually align quite well. A bare "return", however, would need to be changed to translate to "raise StopIteration(None)" rather than its current "raise StopIteration" in order to get the correct value (None) into ex.message. Cheers, Nick. * (self.args[0] is self.message) due to the way __init__ is written, but __getitem__ assumes self.message isn't in self.args) -- Nick Coghlan | [EMAIL PROTECTED] | Brisbane, Australia --------------------------------------------------------------- http://boredomandlaziness.blogspot.com _______________________________________________ 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