title: Use yield in try catch in C#
body: <p>I know that we can not use <code>yield</code> in a <code>try-catch</code> block according to the documentation:</p>
  
  <blockquote>
    <p>A yield return statement can't be located in a
    try-catch block. A yield return statement can be located in the try
    block of a try-finally statement. A yield break statement can be
    located in a try block or a catch block but not a finally block.</p>
  </blockquote>
  
  <p>I also know that Python has the same <a href="https://stackoverflow.com/questions/2339358/workaround-for-python-2-4s-yield-not-allowed-in-try-block-with-finally-clause">limitation</a>.</p>
  
  <p>My question is: Why?</p>
  
  <p>Why does this result in a compiler error? Is there some sort of underlying reason why this isn't allowed?</p>