Thursday, January 1, 2015

C# 6.0–Exception Filters

This blog post is part of C# 6.0 Features Series.
C# 6.0 contains lots of small features and one of them is Exception filters. It is already there with VB.NET earlier but now it is available in C# also. In exception filters now if exception is combined with Exception statement and If condition of if satisfy then it will execute that block.

Let’s take a simple example to understand it better. Following is a code for a simple console application. Before exception filters we were able to write a code like following.
using System;

namespace ExceptionFilters
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                throw new Exception("Jalpesh");
            }

            catch (Exception ex)
            {
                if(ex.Message =="Jalpesh")
                    Console.WriteLine("Exception with Message Jalpesh is executed");
                else
                    Console.WriteLine("Exception with Message DotNetJalps executed");
            }
        }
    }
}
In above example, I have thrown a exception in try block and in catch block I have written if-else block to check message and based on that it will print some method.


This is a old way of doing this. New way is to use If statement with exception block itself.
Following is a code for the same.
using System;

namespace ExceptionFilters
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                throw new Exception("Jalpesh");
            }
            catch (Exception ex) if (ex.Message == "Jalpesh")
            {
                Console.WriteLine("Exception with Message Jalpesh is executed");
            }
            catch (Exception ex) if (ex.Message == "DotNetJalps")
            {
                Console.WriteLine("Exception with Message DotNetJalps executed");
            }
        }
    }
}
So If you see the example I have written two exception block with if statement. Now when you run this application and it will show message as expected.

exception-filter-csharp6

That’s it. Hope you like it. Stay tuned for more!!

Note: You can find all example of C# 6.0 new features at following github location.
https://github.com/dotnetjalps/Csharp6NewFeatures
Share:

0 comments:

Post a Comment

Your feedback is very important to me. Please provide your feedback via putting comments.

About Me
My Photo

Full Stack Developer,Blogger,Microsoft Mvp, Mentor, Life long learner, 10+ Years of Experience for JavaScript, web and Microsoft technologies. ASP.NET MVC,Web Forms,C#,AngularJs,Golang
Mvp profile
Subscribe to my blog

Enter your email address:

Follow us on facebook
Blog Archive
Total Pageviews