title: `Fault` keyword in try block
body: <p>While exploring an assembly in reflector I stumbled upon a <code>fault</code> keyword in a compiler generated class.</p>
  
  <p>Do any of you know the meaning if this keyword?</p>
  
  <p><strong>C#</strong></p>
  
  <pre><code>private bool MoveNext()
  {
      bool flag;
      try
      {
          // [...]
      }
      fault
      {
          this.Dispose();
      }
      return flag;
  }
  </code></pre>
  
  <p><strong>vb.net</strong></p>
  
  <pre class="lang-vb prettyprint-override"><code>Private Function MoveNext() As Boolean 
      Dim flag As Boolean
      Try 
          ' [...]
      Fault
          Me.Dispose
      End Try
      Return flag
  End Function
  </code></pre>