<p>In .NET, is it more appropriate to throw an argument null exception for an Integer if the value is Integer.MinValue or Integer = 0 (assuming that 0 is not a valid value)?</p>

[{'answer_id': 16619, 'author': 'Vaibhav', 'author_id': 380, 'author_profile': 'https://Stackoverflow.com/users/380', 'pm_score': 2, 'selected': False, 'text': '<p>Well, I think if you are using an int, then it would be better to say InvalidArgumentException.</p>\n\n<p>Alternatively, you could make your INTs nullable by declaring them as <em>int?</em> (especially if you expect null values for your int.)</p>\n'}, {'answer_id': 16622, 'author': 'Adam V', 'author_id': 517, 'author_profile': 'https://Stackoverflow.com/users/517', 'pm_score': 4, 'selected': True, 'text': "<p>Throwing an ArgumentNullException isn't appropriate unless the argument is actually <strong>null</strong>. Throw an ArgumentOutOfRangeException instead (preferably with a message informing the user what values of int are actually acceptable).</p>\n\n<blockquote>\n  <p><strong>ArgumentOutOfRangeException</strong> is thrown when a method is invoked and at least one of the arguments passed to the method is not a null reference (<strong>Nothing</strong> in Visual Basic) and does not contain a valid value.</p>\n</blockquote>\n"}, {'answer_id': 16627, 'author': 'bradtgmurray', 'author_id': 1546, 'author_profile': 'https://Stackoverflow.com/users/1546', 'pm_score': 0, 'selected': False, 'text': '<p>If the argument is not null, don\'t throw an <code>ArgumentNullException</code>. It would probably be more reasonable to throw an <code>ArgumentException</code>, <a href="http://msdn.microsoft.com/en-us/library/system.argumentexception.aspx" rel="nofollow noreferrer">explained here.</a></p>\n\n<p><strong>edit:</strong> <code>ArgumentOutOfRangeException</code> is probably even better, as suggested above by Avenger546.</p>\n'}]
['https://Stackoverflow.com/questions/16616', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1989/']