title: Will the finally block be executed?
body: <p>I have read that <code>finally</code> block is always called after the <code>try catch</code> block.</p>
  
  <p>I have a situation(please don't go syntactically)</p>
  
  <p><strong>SITUATION 1:-</strong></p>
  
  <pre><code>try
  {    
    return 1;
  }
  catch()
  {
    return 2;
  }
  finally()
  {
    Console.WriteLine("ABCD");
  }
  </code></pre>
  
  <p>And another situation as:-</p>
  
  <p><strong>SITUATION 2:-</strong></p>
  
  <pre><code>try
  {
    System.Environment.Exit(1);
  }
  catch()
  {
     return 2;
  }
  finally()
  {
    Console.WriteLine("ABCD");
  }
  </code></pre>
  
  <p>My question is that in both the situations will the <code>finally</code> block be executed if my code is entering in the try block?
  If not please explain the reason.</p>
  
  <p>My understanding is that <code>exit</code> is a system call and <code>return</code> is a function call.</p>