In my opinion formatted exceptions occur in rows or when you explicitly pass an object which can have several "formats" of representation (although in this case it is better to implement the Converter as possible and not to throw acceptany at all).
If we actually gave incorrect information — ArgumentException if passed the correct data, but in the wrong format, a FormatException. Only here it is necessary to determine in the context of a particular application, whether input data to be incorrect (using the same format) or all the data is correct, but because of the different formats may fail. For example, when generating a date from a string to type string "dfdfdsfsf" I would threw an exception of the wrong format, and for data "32.09.2010" error invalid argument (generates it will be the ACC. already at a lower level, when checking dates).