Dépannage des exceptions : System.FormatException
Une exception FormatException est levée par une méthode qui analyse ou met en forme un type quand le format d'un argument ne correspond pas aux spécifications de paramètres de la méthode.
Exceptions liées au format
Mise en forme
La mise en forme est le processus de conversion d'une instance d'une classe, d'une structure ou d'une valeur d'énumération en représentation sous forme de chaîne, généralement pour exposer la chaîne obtenue aux utilisateurs ou pour l'utiliser afin d'enregistrer l'état de l'objet.
Par exemple, Int32.ToString(String) accepte un paramètre de chaîne qui identifie une chaîne de format standard ou personnalisée, puis retourne la représentation sous forme de chaîne du nombre. La méthode lève une exception FormatException. Si la chaîne de format n'est pas valide ou si elle n'est pas prise en charge, une exception est levée.
Mise en forme composite
La mise en forme composite accepte une liste d'objets et une chaîne de format composite en entrée. Une chaîne de format composite se compose de texte fixe mélangé à des espaces réservés indexés, appelés éléments de format, qui correspondent aux objets de la liste. L'opération de mise en forme produit une chaîne résultante qui se compose du texte fixe d'origine mélangé à la représentation sous forme de chaîne des objets de la liste.
String.Format et Console.WriteLine sont des exemples de méthodes qui effectuent une mise en forme composite. Les méthodes qui utilisent une mise en forme composite lèvent une exception FormatException si la chaîne de format n'est pas valide ou si l'index d'un élément de format est inférieur à zéro, ou supérieur ou égal au nombre d'arguments.
Analyse
L'analyse est le processus de conversion d'une chaîne qui représente un type de base du .NET Framework en ce type de base. Par exemple, une opération d'analyse permet de convertir une chaîne en nombre à virgule flottante ou en valeur de date et d'heure.
Par exemple, Int32.Parse(String) Parse convertit la représentation sous forme de chaîne d'une date et heure en son équivalent DateTime à l'aide des informations de format spécifiques à la culture, indiquées dans le paramètre IformatProvider. Si la chaîne n'est pas au bon format, l'exception FormatException est levée.
Éviter FormatExceptions
L'article sur la référence de classe FormatException comprend les principales causes et solutions des erreurs FormatException.
Les sections MSDN Library Mise en forme des types dans .NET Framework et Analyse de chaînes dans .NET Framework contiennent des informations sur la façon d'analyser et de mettre en forme correctement les types.
Mise en forme composite
Types numériques
Types de date et d'heure et types Timespan
Autres types