Is this really a new feature?
In C#, Yes. However support for this in IL was already present and VB.NET already had this feature. Even F# utilized this with its exception pattern matching.

http://www.volatileread.com/Wiki/Index?id=1087