<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx</link><description>Exceptions.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8866874</link><pubDate>Thu, 14 Aug 2008 17:14:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8866874</guid><dc:creator>Professor Farnsworth</dc:creator><description>&lt;p&gt;Good news everyone! &amp;nbsp;CLR week is almost over!&lt;/p&gt;
</description></item><item><title>re: The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8867039</link><pubDate>Thu, 14 Aug 2008 18:10:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867039</guid><dc:creator>Bob</dc:creator><description>&lt;p&gt; I want more CLR week! GIME GIME GIME. :)&lt;/p&gt;
</description></item><item><title>re: The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8867246</link><pubDate>Thu, 14 Aug 2008 19:29:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867246</guid><dc:creator>Eric Lippert</dc:creator><description>&lt;p&gt;It is, as you note, a hard problem, so hard that we on the compiler team have gotten it wrong numerous times. I apologize for the inconvenience.&lt;/p&gt;
&lt;p&gt;There are scenarios where you can have multiple nested try blocks and the released v3 compiler generates code that runs the finally blocks outside-to-inside instead of the correct order.&lt;/p&gt;
&lt;p&gt;I believe we have fixed those bugs for the v3 service release, but we have found more since then. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;(So far the only remaining bugs I know of involve bizarre cases of, say, a yield break which branches out to a finally which then executes a second yield break. The control flow can get messed up in complicated circumstances like that.)&lt;/p&gt;
&lt;p&gt;If anyone finds bugs involving iterators blocks and finally execution, please email me via my blog.&lt;/p&gt;
</description></item><item><title>re: The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8867543</link><pubDate>Thu, 14 Aug 2008 21:17:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867543</guid><dc:creator>Daniel Plaisted</dc:creator><description>&lt;p&gt;Was support for try blocks with yield statements inside them added in VS2008? &amp;nbsp;I tried to do this in VS2005 and the compiler told me that it wasn't supported, so I had to work around it. &amp;nbsp;It was kind of a pain.&lt;/p&gt;
</description></item><item><title>re: The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8867561</link><pubDate>Thu, 14 Aug 2008 21:23:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867561</guid><dc:creator>Daniel Plaisted</dc:creator><description>&lt;p&gt;Regarding my previous comment, it looks like the limitation I was remembering was that you cannot yield a value in the body of a try block with a catch clause. &amp;nbsp;You also can't yield a value within a catch clause.&lt;/p&gt;
&lt;p&gt;I assume there are good reasons for this but for my situation it would have been nice if it worked :)&lt;/p&gt;
</description></item><item><title>Today&amp;#8217;s Blogs &amp;laquo; Roman&amp;#8217;s Blog</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8867821</link><pubDate>Thu, 14 Aug 2008 23:11:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867821</guid><dc:creator>Today&amp;#8217;s Blogs &amp;laquo; Roman&amp;#8217;s Blog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://rhnatiuk.wordpress.com/2008/08/14/todays-blogs/"&gt;http://rhnatiuk.wordpress.com/2008/08/14/todays-blogs/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: The implementation of iterators in C# and its consequences (part 3)</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8867972</link><pubDate>Fri, 15 Aug 2008 00:28:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867972</guid><dc:creator>Jack Mathews</dc:creator><description>&lt;p&gt;If you don't Dispose the iterator, will the finalizer cause the code in the finally blocks to get executed?&lt;/p&gt;
</description></item><item><title>Visual Studio Links #66</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8876301</link><pubDate>Mon, 18 Aug 2008 14:55:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8876301</guid><dc:creator>Visual Studio Hacks</dc:creator><description>&lt;p&gt;My latest in a series of the weekly, or more often, summary of interesting links I come across related to Visual Studio. Greg Duncan posted a link to the release announcement for Task Board for Team System Beta 2 . Raymond Chen discussed the implementation&lt;/p&gt;
</description></item><item><title>Interesting Links – 8/21/2008</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#8885842</link><pubDate>Thu, 21 Aug 2008 22:21:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8885842</guid><dc:creator>Matt Johnson's Technical Adventures</dc:creator><description>&lt;p&gt;The Old New Thing : The implementation of iterators in C# and its consequences (part 3) Notes from a&lt;/p&gt;
</description></item><item><title>C# Yield Keyword &amp;laquo; Vasu Balakrishnan&amp;#8217;s Blog</title><link>http://blogs.msdn.com/oldnewthing/archive/2008/08/14/8862242.aspx#9632747</link><pubDate>Wed, 20 May 2009 22:36:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9632747</guid><dc:creator>C# Yield Keyword &amp;laquo; Vasu Balakrishnan&amp;#8217;s Blog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://vasubalakrishnan.wordpress.com/2009/05/20/c-yield-keyword/"&gt;http://vasubalakrishnan.wordpress.com/2009/05/20/c-yield-keyword/&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>