Approach 1 is significantly more useful in my opinion. NullReferenceExceptions, or in this case ArgumentNullExceptions thrown where you can't determine what was null is very frustrating.
Also, if you don't like looking at the validation code you can always wrap it in a code region and fold it away in your IDE.