FormatException Класс

Определение

Исключение, которое возникает в случае, если формат аргумента недопустим или строка составного формата построена неправильно.The exception that is thrown when the format of an argument is invalid, or when a composite format string is not well formed.

public ref class FormatException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class FormatException : SystemException
type FormatException = class
    inherit SystemException
Public Class FormatException
Inherits SystemException
Наследование
FormatException
Производный
Атрибуты

Комментарии

FormatException Исключение может быть вызвано одной из следующих причин:A FormatException exception can be thrown for one of the following reasons:

  • При вызове метода, который преобразует строку в другой тип данных, строка не соответствует требуемому шаблону.In a call to a method that converts a string to some other data type, the string doesn't conform to the required pattern. Обычно это происходит при вызове некоторых методов Convert класса Parse и методов и ParseExact некоторых типов.This typically occurs when calling some methods of the Convert class and the Parse and ParseExact methods of some types.

    В большинстве случаев, в частности, если Преобразуемая строка является входной пользователем или считывается из файла, следует использовать try/catch блок и FormatException обрабатывайте исключение, если преобразование завершилось неудачно.In most cases, particularly if the string that you're converting is input by a user or read from a file, you should use a try/catch block and handle the FormatException exception if the conversion is unsuccessful. Также можно заменить вызов метода преобразования вызовом TryParse метода или TryParseExact , если он существует.You can also replace the call to the conversion method with a call to a TryParse or TryParseExact method, if one exists. FormatException Однако исключение, возникающее при попытке проанализировать стандартную или жестко заданную строку, указывает на ошибку программы.However, a FormatException exception that is thrown when you're trying to parse a predefined or hard-coded string indicates a program error. В этом случае следует исправить ошибку, а не обрабатывайте исключение.In this case, you should correct the error rather than handle the exception.

    Преобразование строки в следующие типы в System пространстве имен может FormatException вызвать исключение:The conversion of a string to the following types in the System namespace can throw a FormatException exception:

    • Boolean.Boolean. Для методов Convert.ToBoolean(String) и требуется, чтобы строка была преобразована в значение "true", "true", "false" или "false". Boolean.Parse(String)The Boolean.Parse(String) and Convert.ToBoolean(String) methods require the string to be converted to be "True", "true", "False", or "false". Любое другое значение вызывает FormatException исключение.Any other value throws a FormatException exception.

    • DateTime и DateTimeOffset.DateTime and DateTimeOffset. Все данные даты и времени обрабатываются на основе соглашений о форматировании для определенного языка и региональных параметров: язык и региональные параметры текущего потока (или, в некоторых случаях, культура текущего домена приложения), инвариантный язык и региональные параметры.All date and time data is interpreted based on the formatting conventions of a particular culture: either the current thread culture (or, in some cases, the current application domain culture), the invariant culture, or a specified culture. DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) При вызове методов и DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) данные даты и времени должны также точно соответствовать шаблону, заданному одним или несколькими строками стандартного формата или строками настраиваемого формата , которые предоставляются в качестве аргументов в вызов метода.When you call the DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) and DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) methods, date and time data must also conform exactly to a pattern specified by one or more standard format strings or custom format strings that are provided as arguments in the method call. Если он не соответствует ожидаемому шаблону, зависящему от языка FormatException и региональных параметров, возникает исключение.If it doesn't conform to an expected culture-specific pattern, a FormatException exception is thrown. Это означает, что данные даты и времени, сохраненные в формате, зависящем от языка и региональных параметров, в одной системе могут быть успешно проанализированы в другой системе.This means that date and time data saved in a culture-specific format on one system might not parse successfully on another system.

      Дополнительные сведения о синтаксическом анализе даты и времени см. в разделе синтаксический анализ строк даты и времени и документация для метода, вызвавшего исключение.For more information about parsing dates and times, see Parsing Date and Time Strings and the documentation for the method that threw the exception.

    • Идентификаторы GUID.GUIDs. Строковое представление GUID должно состоять из 32 шестнадцатеричных цифр (0 – F) и должно быть в одном из пяти выходных форматов, выводимых Guid.ToString методом.The string representation of a GUID must consist of 32 hexadecimal digits (0-F), and must be in one of the five formats output by the Guid.ToString method. Дополнительные сведения см. в описании метода Guid.Parse.For more information, see the Guid.Parse method.

    • Числовые типы, включая все целые числа со знаком, целые числа без знака и типы с плавающей запятой.Numeric types, including all signed integers, unsigned integers, and floating-point types. Анализируемая строка должна состоять из латинских цифр 0-9.The string to be parsed must consist of the Latin digits 0-9. Допускается также использование положительных или отрицательных знаков, разделителей групп и символов валюты.A positive or negative sign, decimal separator, group separators, and currency symbol may also be permitted. При попытке синтаксического анализа строки, содержащей любой другой символ, FormatException всегда возникает исключение.Trying to parse a string that contains any other character always throws a FormatException exception.

      Все числовые строки обрабатываются на основе соглашений о форматировании для определенного языка и региональных параметров: язык и региональные параметры текущего потока (или, в некоторых случаях, культура текущего домена приложения), инвариантный язык и региональные параметры.All numeric strings are interpreted based on the formatting conventions of a particular culture: either the current thread culture (or, in some cases, the current application domain culture), the invariant culture, or a specified culture. В результате числовая строка, проанализированная с использованием соглашений одного языка и региональных параметров, может завершиться ошибкой при использовании соглашений другого.As a result, a numeric string that is parsed by using the conventions of one culture might fail when using the conventions of another.

      Дополнительные сведения о синтаксическом анализе числовых строк см. в разделе синтаксический анализ числовых строк и документация для конкретного метода, вызвавшего исключение.For more information about parsing numeric strings, see Parsing Numeric Strings and the documentation for the specific method that threw the exception.

    • Интервалы времени.Time intervals. Анализируемая строка должна быть в неизменном формате с учетом языка и региональных параметров или в формате, зависящем от языка и региональных параметров (или, в некоторых случаях, языка и региональных параметров текущего приложения), инвариантного языка и региональных параметров.The string to be parsed must be either in fixed culture-insensitive format or in a culture-sensitive format defined by the current thread culture (or, in some cases, the current application domain culture), the invariant culture, or a specified culture. Если строка не находится в соответствующем формате или, по крайней мере, компоненты дней, часов и минут интервала времени отсутствуют, метод анализа создает FormatException исключение.If the string isn't in an appropriate format, or if, at the minimum, the days, hours, and minutes components of the time interval aren't present, the parsing method throws a FormatException exception. Дополнительные сведения см. в документации TimeSpan по методу синтаксического анализа, который вызвал исключение.For more information, see the documentation for the TimeSpan parsing method that threw the exception.

  • Тип реализует IFormattable интерфейс, который поддерживает строки формата, определяющие, как объект преобразуется в строковое представление, и используется недопустимая строка формата.A type implements the IFormattable interface, which supports format strings that define how an object is converted to its string representation, and an invalid format string is used. Это наиболее распространенная операция форматирования.This is most common in a formatting operation. В следующем примере строка стандартного формата "Q" используется в строке составного формата для форматирования числа.In the following example, the "Q" standard format string is used in a composite format string to format a number. Однако "Q" не является допустимой строкой стандартного формата.However, "Q" is not a valid standard format string.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          decimal price = 169.32m;
          Console.WriteLine("The cost is {0:Q2}.", price);
       }
    }
    // The example displays the following output:
    //    Unhandled Exception: System.FormatException: Format specifier was invalid.
    //       at System.Number.FormatDecimal(Decimal value, String format, NumberFormatInfo info)
    //       at System.Decimal.ToString(String format, IFormatProvider provider)
    //       at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
    //       at System.IO.TextWriter.WriteLine(String format, Object arg0)
    //       at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
    //       at Example.Main()
    
    Module Example
       Public Sub Main()
          Dim price As Decimal = 169.32d
          Console.WriteLine("The cost is {0:Q2}.", price)
       End Sub
    End Module
    ' The example displays the following output:
    '    Unhandled Exception: System.FormatException: Format specifier was invalid.
    '       at System.Number.FormatDecimal(Decimal value, String format, NumberFormatInfo info)
    '       at System.Decimal.ToString(String format, IFormatProvider provider)
    '       at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
    '       at System.IO.TextWriter.WriteLine(String format, Object arg0)
    '       at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
    '       at Example.Main()
    

    Это исключение возникает из-за ошибки в коде.This exception results from a coding error. Чтобы исправить ошибку, либо удалите строку формата, либо замените допустимый.To correct the error, either remove the format string or substitute a valid one. В следующем примере ошибка исправляется путем замены недопустимой строки формата строкой формата "C" (Currency).The following example corrects the error by replacing the invalid format string with the "C" (currency) format string.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          decimal price = 169.32m;
          Console.WriteLine("The cost is {0:C2}.", price);
       }
    }
    // The example displays the following output:
    //    The cost is $169.32.
    
    Module Example
       Public Sub Main()
          Dim price As Decimal = 169.32d
          Console.WriteLine("The cost is {0:C2}.", price)
       End Sub
    End Module
    ' The example displays the following output:
    '   The cost is $169.32.
    

    Исключение также может вызываться методами синтаксического анализа, такими как DateTime.ParseExact и Guid.ParseExact, для которых требуется синтаксический анализ строки для точного соответствия шаблону, заданному строкой формата. FormatExceptionA FormatException exception can also be thrown by parsing methods, such as DateTime.ParseExact and Guid.ParseExact, that require the string to be parsed to conform exactly to the pattern specified by a format string. В следующем примере предполагается, что строковое представление идентификатора GUID соответствует шаблону, заданному строкой стандартного формата "G".In the following example, the string representation of a GUID is expected to conform to the pattern specified by the "G" standard format string. Guid ОднакоIFormattable реализация структуры не поддерживает строку формата G.However, the Guid structure's implementation of IFormattable does not support the "G" format string.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          string guidString = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb";
          Console.WriteLine(Guid.ParseExact(guidString, "G"));
       }
    }
    // The example displays the following output:
    //    Unhandled Exception: System.FormatException: 
    //       Format String can be only "D", "d", "N", "n", "P", "p", "B", "b", "X" or "x".
    //       at System.Guid.ParseExact(String input, String format)
    //       at Example.Main()
    
    Module Example
       Public Sub Main()
          Dim guidString As String = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb"
          Console.WriteLine(Guid.ParseExact(guidString, "G"))
       End Sub
    End Module
    ' The example displays the following output:
    '    Unhandled Exception: System.FormatException: 
    '       Format String can be only "D", "d", "N", "n", "P", "p", "B", "b", "X" or "x".
    '       at System.Guid.ParseExact(String input, String format)
    '       at Example.Main()
    

    Это исключение также приводит к ошибке в коде.This exception also results from a coding error. Чтобы исправить его, вызовите метод синтаксического анализа, который не требует точного формата, например DateTime.Parse или Guid.Parse, или замените строку допустимого формата.To correct it, call a parsing method that doesn't require a precise format, such as DateTime.Parse or Guid.Parse, or substitute a valid format string. В следующем примере ошибка исправляется путем вызова Guid.Parse метода.The following example corrects the error by calling the Guid.Parse method.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          string guidString = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb";
          Console.WriteLine(Guid.Parse(guidString));
       }
    }
    // The example displays the following output:
    //    ba748d5c-ae5f-4cca-84e5-1ac5291c38cb
    
    Module Example
       Public Sub Main()
          Dim guidString As String = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb"
          Console.WriteLine(Guid.Parse(guidString))
       End Sub
    End Module
    ' The example displays the following output:
    '   ba748d5c-ae5f-4cca-84e5-1ac5291c38cb
    
  • Один или несколько индексов элементов формата в строке составного формата больше, чем индексы элементов в списке объектов или массиве параметров.One or more of the indexes of the format items in a composite format string is greater than the indexes of the items in the object list or parameter array. В следующем примере самый крупный индекс элемента формата в строке форматирования равен 3.In the following example, the largest index of a format item in the format string is 3. Поскольку индексы элементов в списке объектов отсчитываются от нуля, эта строка формата потребует, чтобы список объектов имел четыре элемента.Because the indexes of items in the object list are zero-based, this format string would require the object list to have four items. Вместо этого он содержит только три, dat temp, и scale, поэтому код выдает FormatException исключение во время выполнения:.Instead, it has only three, dat, temp, and scale, so the code results in a FormatException exception at run time:.

    using System;
    
    public class Example
    {
       public enum TemperatureScale 
       { Celsius, Fahrenheit, Kelvin }
    
       public static void Main()
       {
          String info = GetCurrentTemperature();
          Console.WriteLine(info);
       }
    
       private static String GetCurrentTemperature()
       {
          DateTime dat = DateTime.Now;
          Decimal temp = 20.6m;
          TemperatureScale scale = TemperatureScale.Celsius;
          String result;
          
          result = String.Format("At {0:t} on {1:D}, the temperature is {2:F1} {3:G}",
                                 dat, temp, scale);    
          return result;
       }
    }
    // The example displays output like the following:
    //    Unhandled Exception: System.FormatException: Format specifier was invalid.
    //       at System.Number.FormatDecimal(Decimal value, String format, NumberFormatInfo info)
    //       at System.Decimal.ToString(String format, IFormatProvider provider)
    //       at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
    //       at System.String.Format(IFormatProvider provider, String format, Object[] args)
    //       at Example.Main()
    
    Module Example
       Public Enum TemperatureScale As Integer
          Celsius
          Fahrenheit
          Kelvin
       End Enum
    
       Public Sub Main()
          Dim info As String = GetCurrentTemperature()
          Console.WriteLine(info)
       End Sub
    
       Private Function GetCurrentTemperature() As String
          Dim dat As Date = Date.Now
          Dim temp As Decimal = 20.6d
          Dim scale As TemperatureScale = TemperatureScale.Celsius
          Dim result As String 
          
          result = String.Format("At {0:t} on {1:D}, the temperature is {2:F1} {3:G}",
                                 dat, temp, scale)    
          Return result
       End Function
    End Module
    ' The example displays output like the following:
    '    Unhandled Exception: System.FormatException: Format specifier was invalid.
    '       at System.Number.FormatDecimal(Decimal value, String format, NumberFormatInfo info)
    '       at System.Decimal.ToString(String format, IFormatProvider provider)
    '       at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
    '       at System.String.Format(IFormatProvider provider, String format, Object[] args)
    '       at Example.Main()
    

    В этом случае FormatException исключение является результатом ошибки разработчика.In this case, the FormatException exception is a result of developer error. Его следует исправить, а не обрабатывать в try/catch блоке, убедившись, что каждый элемент в списке объектов соответствует индексу элемента форматирования.It should be corrected rather than handled in a try/catch block by making sure that each item in the object list corresponds to the index of a format item. Чтобы исправить этот пример, измените индекс второго элемента форматирования, чтобы он ссылался dat на переменную, и уменьшите индекс каждого последующего элемента форматирования на единицу.To correct this example, change the index of the second format item to refer to the dat variable, and decrement the index of each subsequent format item by one.

    using System;
    
    public class Example
    {
       public enum TemperatureScale 
       { Celsius, Fahrenheit, Kelvin }
    
       public static void Main()
       {
          String info = GetCurrentTemperature();
          Console.WriteLine(info);
       }
    
       private static String GetCurrentTemperature()
       {
          DateTime dat = DateTime.Now;
          Decimal temp = 20.6m;
          TemperatureScale scale = TemperatureScale.Celsius;
          String result;
          
          result = String.Format("At {0:t} on {0:D}, the temperature is {1:F1} {2:G}",
                                 dat, temp, scale);    
          return result;
       }
    }
    // The example displays output like the following:
    //    At 10:40 AM on Wednesday, June 04, 2014, the temperature is 20.6 Celsius
    
    Module Example
       Public Enum TemperatureScale As Integer
          Celsius
          Fahrenheit
          Kelvin
       End Enum
    
       Public Sub Main()
          Dim info As String = GetCurrentTemperature()
          Console.WriteLine(info)
       End Sub
    
       Private Function GetCurrentTemperature() As String
          Dim dat As Date = Date.Now
          Dim temp As Decimal = 20.6d
          Dim scale As TemperatureScale = TemperatureScale.Celsius
          Dim result As String 
          
          result = String.Format("At {0:t} on {0:D}, the temperature is {1:F1} {2:G}",
                                 dat, temp, scale)    
          Return result
       End Function
    End Module
    ' The example displays output like the following:
    '       At 10:40 AM on Wednesday, June 04, 2014, the temperature is 20.6 Celsius
    
  • Строка составного формата не имеет правильного формата.The composite format string isn't well-formed. В FormatException этом случае исключение всегда является результатом ошибки разработчика.When this happens, the FormatException exception is always a result of developer error. Его следует исправить, try/catch а не обрабатывать в блоке.It should be corrected rather than handled in a try/catch block.

    При попытке включить в строку литеральные скобки, как показано в следующем примере, вызовет исключение.Trying to include literal braces in a string, as the following example does, will throw the exception.

    result = String.Format("The text has {0} '{' characters and {1} '}' characters.",
                           nOpen, nClose);
    
    result = String.Format("The text has {0} '{' characters and {1} '}' characters.",
                           nOpen, nClose)
    

    Рекомендуемый способ включения литеральных скобок в строку составного формата состоит в том, чтобы включить их в список объектов и использовать элементы форматирования для вставки их в результирующую строку.The recommended technique for including literal braces in a composite format string is to include them in the object list and use format items to insert them into the result string. Например, можно изменить предыдущую строку составного формата, как показано здесь.For example, you can modify the previous composite format string as shown here.

    string result;
    int nOpen = 1;
    int nClose = 2;
    result = String.Format("The text has {0} '{{' characters and {1} '}}' characters.",
                           nOpen, nClose);
    Console.WriteLine(result);
    
    result = String.Format("The text has {0} '{{' characters and {1} '}}' characters.",
                           nOpen, nClose)
    

    Исключение также создается, если строка формата содержит опечатку.The exception is also thrown if your format string contains a typo. Следующий вызов String.Format метода опускает закрывающую фигурную скобку и пары открывающей скобки с закрывающей скобкой.The following call to the String.Format method omits a closing brace and pairs an opening brace with a closing bracket.

    int n1 = 10;
    int n2 = 20;
    String result = String.Format("{0 + {1] = {2}", 
                                  n1, n2, n1 + n2);
    
    Dim n1 As Integer = 10
    Dim n2 As Integer = 20
    Dim result As String = String.Format("{0 + {1] = {2}", 
                                         n1, n2, n1 + n2)
    

    Чтобы исправить ошибку, убедитесь, что все открывающие и закрывающие фигурные скобки соответствуют.To correct the error, ensure that all opening and closing braces correspond.

    String result = String.Format("{0} + {1} = {2}", 
                                  n1, n2, n1 + n2);
    
    Dim result As String = String.Format("{0} + {1} = {2}", 
                                         n1, n2, n1 + n2)
    
  • Вы указали список объектов в методе составного форматирования как строго типизированный массив параметров, а FormatException исключение указывает, что индекс одного или нескольких элементов формата превышает число аргументов в списке объектов.You've supplied the object list in a composite formatting method as a strongly typed parameter array, and the FormatException exception indicates that the index of one or more format items exceeds the number of arguments in the object list. Это происходит потому, что явное преобразование между типами массивов не существует, поэтому компилятор обрабатывает массив как единственный аргумент, а не как массив параметров.This occurs because no explicit conversion between array types exists, so instead the compiler treats the array as a single argument rather than as a parameter array. Например, следующий вызов Console.WriteLine(String, Object[]) метода FormatException вызывает исключение, хотя самый верхний индекс элементов формата — 3, а массив параметров типа Int32 — четыре элемента.For example, the following call to the Console.WriteLine(String, Object[]) method throws a FormatException exception, although the highest index of the format items is 3, and the parameter array of type Int32 has four elements.

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
       public static void Main()
       {
          Random rnd = new Random();
          int[]  numbers = new int[4];
          int total = 0;
          for (int ctr = 0; ctr <= 2; ctr++) {
             int number = rnd.Next(1001);
             numbers[ctr] = number;
             total += number;
          }   
          numbers[3] = total;
          Console.WriteLine("{0} + {1} + {2} = {3}", numbers);   
       }
    }
    // The example displays the following output:
    //    Unhandled Exception: 
    //    System.FormatException: 
    //       Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
    //       at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
    //       at System.IO.TextWriter.WriteLine(String format, Object arg0)
    //       at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
    //       at Example.Main()
    
    Imports System.Collections.Generic
    
    Module Example
       Public Sub Main()
          Dim rnd As New Random()
          Dim numbers(3) As Integer
          Dim total As Integer = 0
          For ctr = 0 To 2
             Dim number As Integer = rnd.Next(1001)
             numbers(ctr) = number
             total += number
          Next
          numbers(3) = total
          Console.WriteLine("{0} + {1} + {2} = {3}", numbers)   
       End Sub
    End Module
    ' The example displays the following output:
    '    Unhandled Exception: 
    '    System.FormatException: 
    '       Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
    '       at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
    '       at System.IO.TextWriter.WriteLine(String format, Object arg0)
    '       at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
    '       at Example.Main()
    

    Вместо обработки этого исключения следует устранить его причину.Instead of handling this exception, you should eliminate its cause. Поскольку ни Visual Basic, C# ни не могут преобразовывать массив целых чисел в массив объектов, необходимо выполнить преобразование самостоятельно перед вызовом метода составного форматирования.Because neither Visual Basic nor C# can convert an integer array to an object array, you have to perform the conversion yourself before calling the composite formatting method. В следующем примере показана одна реализация.The following example provides one implementation.

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
       public static void Main()
       {
          Random rnd = new Random();
          int[]  numbers = new int[4];
          int total = 0;
          for (int ctr = 0; ctr <= 2; ctr++) {
             int number = rnd.Next(1001);
             numbers[ctr] = number;
             total += number;
          }   
          numbers[3] = total;
          object[] values = new object[numbers.Length];
          numbers.CopyTo(values, 0);
          Console.WriteLine("{0} + {1} + {2} = {3}", values);   
       }
    }
    // The example displays output like the following:
    //        477 + 956 + 901 = 2334
    
    Imports System.Collections.Generic
    
    Module Example
       Public Sub Main()
          Dim rnd As New Random()
          Dim numbers(3) As Integer
          Dim total As Integer = 0
          For ctr = 0 To 2
             Dim number As Integer = rnd.Next(1001)
             numbers(ctr) = number
             total += number
          Next
          numbers(3) = total
          Dim values(numbers.Length - 1) As Object
          numbers.CopyTo(values, 0) 
          Console.WriteLine("{0} + {1} + {2} = {3}", values)   
       End Sub
    End Module
    ' The example displays output like the following:
    '       477 + 956 + 901 = 2334
    

FormatExceptionиспользует HRESULT COR_E_FORMAT, имеющий значение 0x80131537.FormatException uses the HRESULT COR_E_FORMAT, which has the value 0x80131537.

Класс является производным от Exception и не добавляет уникальных членов. FormatExceptionThe FormatException class derives from Exception and adds no unique members. Список начальных значений свойств для экземпляра FormatException, см. в разделе FormatException конструкторы.For a list of initial property values for an instance of FormatException, see the FormatException constructors.

Конструкторы

FormatException()

Инициализирует новый экземпляр класса FormatException.Initializes a new instance of the FormatException class.

FormatException(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса FormatException с сериализованными данными.Initializes a new instance of the FormatException class with serialized data.

FormatException(String)

Инициализирует новый экземпляр класса FormatException с указанным сообщением об ошибке.Initializes a new instance of the FormatException class with a specified error message.

FormatException(String, Exception)

Инициализирует новый экземпляр класса FormatException указанным сообщением об ошибке и ссылкой на внутреннее исключение, вызвавшее данное исключение.Initializes a new instance of the FormatException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Свойства

Data

Возвращает коллекцию пар ключ/значение, предоставляющие дополнительные сведения об исключении, определяемые пользователем.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Унаследовано от Exception)
HelpLink

Получает или задает ссылку на файл справки, связанный с этим исключением.Gets or sets a link to the help file associated with this exception.

(Унаследовано от Exception)
HResult

Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Унаследовано от Exception)
InnerException

Возвращает экземпляр класса Exception, который вызвал текущее исключение.Gets the Exception instance that caused the current exception.

(Унаследовано от Exception)
Message

Возвращает сообщение, описывающее текущее исключение.Gets a message that describes the current exception.

(Унаследовано от Exception)
Source

Возвращает или задает имя приложения или объекта, вызывавшего ошибку.Gets or sets the name of the application or the object that causes the error.

(Унаследовано от Exception)
StackTrace

Получает строковое представление непосредственных кадров в стеке вызова.Gets a string representation of the immediate frames on the call stack.

(Унаследовано от Exception)
TargetSite

Возвращает метод, создавший текущее исключение.Gets the method that throws the current exception.

(Унаследовано от Exception)

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetBaseException()

При переопределении в производном классе возвращает исключение Exception, которое является корневой причиной одного или нескольких последующих исключений.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Унаследовано от Exception)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

При переопределении в производном классе задает сведения об исключении для SerializationInfo.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Унаследовано от Exception)
GetType()

Возвращает тип среды выполнения текущего экземпляра.Gets the runtime type of the current instance.

(Унаследовано от Exception)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Создает и возвращает строковое представление текущего исключения.Creates and returns a string representation of the current exception.

(Унаследовано от Exception)

События

SerializeObjectState

Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Унаследовано от Exception)

Применяется к

Дополнительно