[Python-ideas] sentinel_exception argument to `iter`
Terry Reedy
tjreedy at udel.edu
Fri Feb 7 07:03:16 CET 2014
More information about the Python-ideas mailing list
Fri Feb 7 07:03:16 CET 2014
- Previous message: [Python-ideas] sentinel_exception argument to `iter`
- Next message: [Python-ideas] sentinel_exception argument to `iter`
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2/6/2014 11:15 PM, Terry Reedy wrote:
>> On Fri, Feb 7, 2014 at 1:36 PM, Terry Reedy
>>> def __next__(self):
>>> try:
>>> x = self.func()
>>> except Exception as exc:
>>> if isinstance(exc, self.sentinel):
>>> raise StopIteration from None
> else:
> raise
I just realized that the above is unnecessarily complicated because the
expression that follows 'except' is not limited to a builtin exception
class name or tuple thereof. (I have never before had reason to
dynamically determine the exception to be caught.) So, using a third
parameter, replace the 5 lines with 2.
except self.stop_exception:
raise StopIteration from None
>>> if x == self.sentinel:
>>> raise StopIteration
>>> else:
>>> return x
--
Terry Jan Reedy
- Previous message: [Python-ideas] sentinel_exception argument to `iter`
- Next message: [Python-ideas] sentinel_exception argument to `iter`
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list