疑難排解例外狀況:System.FormatException
當引數格式不符合剖析或格式化類型之方法的參數規格時,此方法會擲回 FormatException 例外狀況。
造成格式例外狀況
格式化
「格式化」(Formatting) 是將類別、結構或列舉值的執行個體轉換成其字串表示的過程,通常是為了將結果字串向使用者顯示,或是為了用於儲存物件的狀態。
例如,Int32.ToString(String) 接受識別標準或自訂「格式字串」(format string) 的字串參數,並傳回數字的字串表示。 如果格式字串是無效或不受支援,這個方法會擲回 FormatException。
複合格式
「複合格式化」(Composite formatting) 接受物件清單和複合格式字串做為輸入。 複合格式字串是由混合索引替代符號 (Placeholder) 的固定文字所組成 (這些符號稱為對應至清單內物件的格式項目)。 格式作業產生的結果字串是由原始固定文字所組成,這些固定文字混合了清單中代表物件的字串。
String.Format 和 Console.WriteLine 是執行複合格式化的方法範例。 如果格式字串無效,或格式項目的索引小於零,或大於或等於引數數目,使用複合格式化的方法會擲回 FormatException。
剖析
「剖析」(Parsing) 是將代表 .NET Framework 基底類型的字串轉換為該基底類型的過程。 例如,剖析作業用來將字串轉換為浮點數或日期和時間值。
例如,Int32.Parse(String) Parse 將日期和時間的字串表示,藉由使用 IformatProvider 參數中指定的文化特性格式資訊,轉換為其 DateTime 對等項。 如果字串不是正確的格式,就會擲回 FormatException。
避免 FormatExceptions
FormatException 類別參考文章包含 FormatException 錯誤的常見原因和解決方案。
MSDN Library 章節<.NET Framework 中的格式化類型>和<在 .NET Framework 中剖析字串>包含正確格式化和剖析類型的相關資訊。
複合格式化
數值類型
日期和時間及 Timespan 類型
其他類型