Risoluzione dei problemi relativi alle eccezioni: System.FormatException
Un'eccezione FormatException viene generata da un metodo che analizza o formatta un tipo quando il formato di un argomento non soddisfa le specifiche dei parametri del metodo.
Generazioni di eccezioni di formato
Formattazione
La formattazione è il processo di conversione di un'istanza di una classe, una struttura o un valore di enumerazione nella relativa rappresentazione di stringa, eseguito spesso in modo che la stringa risultante possa essere visualizzata dagli utenti o usata per salvare lo stato dell'oggetto.
Ad esempio, Int32.ToString(String) accetta un parametro di stringa che identifica una stringa di formato standard o personalizzata e restituisce la rappresentazione di stringa del numero. Il metodo genera un'eccezione FormatException se la stringa di formato non è valida o non è supportata.
Formattazione composita
La formattazione composita accetta un elenco di oggetti e una stringa di formato composto come input. Una stringa di formato composto è costituita da testo fisso alternato a segnaposto indicizzati, denominati elementi di formato, che corrispondono agli oggetti dell'elenco. L'operazione di formattazione produce una stringa risultato costituita dal testo fisso originale alternato alla rappresentazione di stringa degli oggetti dell'elenco.
String.Format e Console.WriteLine sono esempi di metodi che eseguono la formattazione composita. I metodi che usano la formattazione composita generano un'eccezione FormatException se la stringa di formato non è valida oppure se l'indice di un elemento di formato è minore di zero oppure maggiore o uguale al numero di argomenti.
Analisi
L'analisi è il processo di conversione di una stringa che rappresenta un tipo di base di .NET Framework in tale tipo di base. Ad esempio, un'operazione di analisi viene usata per convertire una stringa in un numero a virgola mobile o in un valore di data e ora.
Ad esempio, Int32.Parse(String) Parse converte la rappresentazione di stringa di un valore di data e ora nel relativo oggetto DateTime equivalente usando le informazioni sul formato specifiche delle impostazioni cultura indicate nel parametro IformatProvider. Se la stringa non è nel formato corretto, viene generata un'eccezione FormatException.
Evitare le eccezioni FormatException
L'articolo di riferimento della classe FormatException include le cause e le soluzioni comuni degli errori FormatException.
Le sezioni di MSDN Library Formattazione di tipi in .NET Framework e Analisi di stringhe in .NET Framework contengono le informazioni sulla formattazione e l'analisi corrette dei tipi.
Formattazione composita
Tipi numerici
Tipi data e ora e TimeSpan
Altri tipi