Is there a list of .Net Exception types and advice on when to use them?

Solution 1:

A list of them:

http://mikevallotton.wordpress.com/2009/07/08/net-exceptions-all-of-them/

As for the circumstance, it depends, most of the time they make sense based on their name and arguments. ArgumentNullException, for example, is usually used when checking method / constructor arguments for null values.

Then you have others such as FileNotFoundException, NullReferenceException, InvalidOperationException, as you can see they read very easily and should be used with common sense.

Update 1: as someone has suggested, they are also on MSDN:

http://msdn.microsoft.com/en-us/library/system.exception.aspx#inheritanceContinued

Here are views on common exceptions available:

https://blogs.msmvps.com/jgaylord/2009/07/08/common-and-all-system-exceptions-in-net/

http://www.developerfusion.com/article/1889/exception-handling-in-c/3/

Update 2: as for usage, Microsoft has guidelines for reserved exception types:

http://msdn.microsoft.com/en-us/library/ms182338.aspx