I have this program: class A(object): def __init__(self): self.data = range(5) def __getitem__(self, item): return self.data[item] a = A() for v in a: print v
i.e. there's a class that gets iteration through the __getitem__ method. When run with IronPython in the shell (or with CPython), you get the expected result: C:\>"c:\Programs\IronPython 2.7\ipy.exe" Program.py 0 1 2 3 4 C:\>c:\Python27\python.exe Program.py 0 1 2 3 4 Underneath, of course, this is doing a[0], a[1], a[2], a[3], a[4], and stopping when a[5] raises an IndexError. When I run this in Visual Studio, the debugger catches the IndexError, so this doesn't work. It seems like the exception should be allowed to propagate further, so that the iteration works - but maybe this just isn't compatible with how the debugger works? (It's easy enough to fix this by defining _iter__, of course). Is this a bug? Or just a limitation of how the debugging environment works? Thanks, Tony _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com