Quite often, in programming we get situations where null
checks show up in particularly large numbers. I'm talking about things like:
if (doc != null) { if (doc.Element != null) { ... and so on } else throw new Exception("Element cannot be null"); } else { throw new Exception("document cannot be null"); }
Basically, the whole thing turns into an unreadable nightmare, so I'm wondering: is there an easier way to describe what I'm trying to do above? (In addition to null checks, I get things like string.IsNullOrEmpty
from time to time.)
Accepted answer: I accepted the answer that has this link because the approach described is innovative, and is precisely what I want. Thanks Shawn!
It is a good idea to check for null explicitly because: You can catch the error earlier. You can provide a more descriptive error message.
A null indicates that a variable doesn't point to any object and holds no value. You can use a basic 'if' statement to check a null in a piece of code. Null is commonly used to denote or verify the non-existence of something.
If you have implemented layering in your project, good place to do null checks are the layers that receives data externally. Like for example: the controllers, because it receives data from the user... or the gateways because it receives data from repositories.
Check out this article: A fluent approach to C# parameter validation
It's written by one of the Paint.NET Developers. He uses extension methods to simplify and clean up null checking code.
Push them forward to the beginning of the function, and keep them out of the part of the code that does the work. Like this:
if (doc == null) throw new ArgumentNullException("doc"); if (doc.Element == null) throw new ArgumentException("Element cannot be null"); AndSoOn();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With