title: c# yield and try-finally
body: <p>If I have a coroutine as follows, will the code in the finally block get called?</p>
  
  <pre><code>public IEnumerator MyCoroutine(int input)
  {
    try
    {
      if(input &gt; 10)
      {
        Console.WriteLine("Can't count that high.");
        yield break;
      }
      Console.WriteLine("Counting:");
      for(int i = 0; i &lt; input; i++)
      {
        Console.WriteLine(i.ToString());
        yield return null;
      }
    }
    finally
    {
      Console.WriteLine("Finally!");
    }
  }
  </code></pre>