فیلتر استثنائات

فیلترهای استثنائات یا Exception filters یک ویژگی جدید در C# 6.0 است که، به ما اجازه‌ی مشخص کردن یک شرط برای یک بلاک catch را می‌دهد. اگر شرط true را برگرداند، آنگاه بلاک catch اجرا می‌شود. این ویژگی یکی از بهترین ویژگی‌های C# 6.0 جدید است که کار با فیلتر کردن استثنائات را آسان کرده است. به مثال زیر توجه کنید :

using System;

namespace CsharpNewFeatures
{
    class Program
    {
        public static void Main()
        {
            int result;
            int x = 5;
            int y = 0;

            try
            {
                result = x / y;                                   
            }
            catch (Exception ex) if (y == 0)
            {
                Console.WriteLine("An attempt to divide by 0 was detected.");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
   }
}
An attempt to divide by 0 was detected.