When will Finally Block not run in C# ?

When using finally block in C# , it is guaranteed that it will run after the try catch block is executed .

When will Finally Block not run in C# ?

There are scenarios when the finally block will not run in C# . If you are forcing the process exit within the try block for example , the finally will not be run .

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace GinktageConsoleApp
{ 
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Exit immediately
                Environment.Exit(0);
            }
            catch(DivideByZeroException ex)
            {
                throw;
            }
            finally
            {
                Console.WriteLine("Finally Block");
            }
           
        }
       
    }   
}
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Leave a Reply