Troubleshooting Exceptions: System.FormatException
A FormatException exception is thrown by a method that parses or formats a type when the format of an argument does not meet the parameter specifications of the method.
Causing Format Exceptions
Formatting
Formatting is the process of converting an instance of a class, structure, or enumeration value to its string representation, often so that the resulting string can be displayed to users or be used to save the state of the object.
For example, Int32.ToString(String) takes a string parameter that identifies a standard or custom format string and returns the string representation of the number. The method throws a FormatException If the format string is invalid or not supported, a is thrown.
Composite Formatting
Composite formatting takes a list of objects and a composite format string as input. A composite format string consists of fixed text intermixed with indexed placeholders, called format items, that correspond to the objects in the list. The formatting operation yields a result string that consists of the original fixed text intermixed with the string representation of the objects in the list.
String.Format and Console.WriteLine are examples of methods that do composite formatting. Methods that use composite formatting throw a FormatException if the format string is invalid or the index of a format item is less than zero, or greater than or equal to the number of arguments.
Parsing
Parsing is the process of converting a string that represents a .NET Framework base type into that base type. For example, a parsing operation is used to convert a string to a floating-point number or to a date and time value.
For example, Int32.Parse(String)Parse converts the string representation of a date and time to its DateTime equivalent by using culture-specific format information specified in the IformatProvider parameter. If the string is not in the correct format, FormatException is thrown.
Avoiding FormatExceptions
The FormatException class reference article includes the common causes and solutions of FormatException errors.
The MSDN Library sections Formatting Types in the .NET Framework and Parsing Strings in the .NET Framework contain information about correctly formatting and parsing types.
Composite formatting
Numeric types
Date and Time and Timespan types
Other types