LINQ method chaining and granular error handling
Posted
by
Clafou
on Stack Overflow
See other posts from Stack Overflow
or by Clafou
Published on 2012-06-07T10:15:23Z
Indexed on
2012/06/07
10:40 UTC
Read the original article
Hit count: 321
I have a method which can be written pretty neatly through method chaining:
return viewer.ServerReport.GetParameters()
.Single(p => p.Name == Convention.Ssrs.RegionParamName)
.ValidValues
.Select(v => v.Value);
However I'd like to be able to do some checks at each point as I wish to provide helpful diagnostics information if any of the chained methods returns unexpected results.
To achieve this, I need to break up all my chaining and follow each call with an if
block. It makes the code a lot less readable.
Ideally I'd like to be able to weave in some chained method calls which would allow me to handle unexpected outcomes at each point (e.g. throw a meaningful exception such as new ConventionException("The report contains no parameter")
if the first method returns an empty collection). Can anyone suggest a simple way to achieve such a thing?
© Stack Overflow or respective owner