FormatException Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, которое возникает, если формат аргумента недопустим или если строка составного формата не является хорошо сформированной.
public ref class FormatException : Exception
public ref class FormatException : SystemException
public class FormatException : Exception
public class FormatException : SystemException
[System.Serializable]
public class FormatException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class FormatException : SystemException
type FormatException = class
inherit Exception
type FormatException = class
inherit SystemException
[<System.Serializable>]
type FormatException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FormatException = class
inherit SystemException
Public Class FormatException
Inherits Exception
Public Class FormatException
Inherits SystemException
- Наследование
- Наследование
- Производный
- Атрибуты
Комментарии
FormatException Исключение может быть создано по одной из следующих причин:
При вызове метода, преобразующего строку в другой тип данных, строка не соответствует требуемому шаблону. Обычно это происходит при вызове некоторых методов Convert класса и
ParseParseExactметодов некоторых типов.В большинстве случаев, особенно если преобразованная строка является входной пользователем или чтением из файла, следует использовать
try/catchблок (try/withв F#) и обрабатывать FormatException исключение, если преобразование не выполнено. Можно также заменить вызов метода преобразования вызовомTryParseилиTryParseExactметодом, если он существует. FormatException Однако исключение, которое возникает при попытке проанализировать предопределенную или жестко закодированную строку, указывает на ошибку программы. В этом случае следует исправить ошибку, а не обрабатывать исключение.Преобразование строки в следующие типы в System пространстве имен может вызвать FormatException исключение:
Boolean. Для Boolean.Parse(String) преобразования Convert.ToBoolean(String) строки требуется значение True, true, False или false. Любое другое FormatException значение создает исключение.
DateTime и DateTimeOffset. Все данные даты и времени интерпретируются на основе соглашений о форматировании определенного языка и региональных параметров: текущего языка и региональных параметров (или, в некоторых случаях, текущего языка и региональных параметров приложения), инвариантного языка и региональных параметров или указанного языка и региональных параметров. При вызове DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) методов данные даты и DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) времени также должны соответствовать шаблону, заданному одной или несколькими стандартными строками формата или настраиваемыми строками форматирования , которые предоставляются в качестве аргументов в вызове метода. Если он не соответствует ожидаемому шаблону языка и региональных параметров, FormatException создается исключение. Это означает, что данные даты и времени, сохраненные в формате языка и региональных параметров в одной системе, не могут успешно анализироваться в другой системе.
Дополнительные сведения о синтаксическом анализе дат и времени см. в разделе "Анализ строк даты и времени " и документации по методу, вызвавшего исключение.
Идентификаторы GUID. Строковое представление GUID должно состоять из 32 шестнадцатеричных цифр (0-F) и должно находиться в одном из пяти форматов, выходных данных Guid.ToString метода. Дополнительные сведения см. в методе Guid.Parse.
Числовые типы, включая все подписанные целые числа, целые числа без знака и типы с плавающей запятой. Строка для синтаксического анализа должна состоять из латинских цифр 0-9. Можно также разрешить положительный или отрицательный знак, десятичный разделитель, разделители групп и символ валюты. При попытке проанализировать строку, содержащую любой другой символ, всегда вызывает FormatException исключение.
Все числовые строки интерпретируются на основе соглашений о форматировании определенного языка и региональных параметров: текущего языка и региональных параметров, инвариантного языка и региональных параметров или указанного языка и региональных параметров. В результате числовая строка, анализируемая с помощью соглашений одного языка и региональных параметров, может завершиться ошибкой при использовании соглашений другого.
Дополнительные сведения об синтаксическом анализе числовых строк см. в разделе "Анализ числовых строк " и документации по конкретному методу, вызвавшего исключение.
Интервалы времени. Строка для синтаксического анализа должна быть в фиксированном формате без учета языка и региональных параметров или в формате с учетом языка и региональных параметров, определяемом текущим языком и региональными параметрами, инвариантным языком и региональными параметрами или указанным языком и региональными параметрами. Если строка не имеет соответствующего формата или если, по крайней мере, значения дней, часов и минут интервала времени отсутствуют, метод синтаксического анализа создает FormatException исключение. Дополнительные сведения см. в документации по TimeSpan методу синтаксического анализа, вызвавшего исключение.
Тип реализует IFormattable интерфейс, который поддерживает строки форматирования, определяющие, как объект преобразуется в его строковое представление, и используется недопустимая строка форматирования. Чаще всего это происходит в операции форматирования. В следующем примере строка стандартного формата "Q" используется в составной строке формата для форматирования числа. Однако "Q" не является допустимой строкой стандартного формата.
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()let price = 169.32m printfn $"The cost is {price:Q2}." // The example displays the following output: // Unhandled Exception: System.FormatException: Format specifier was invalid. // at System.Number.NumberToString(ValueStringBuilder& sb, NumberBuffer& number, Char format, Int32 nMaxDigits, NumberFormatInfo info) // at System.Number.TryFormatDecimal(Decimal value, ReadOnlySpan`1 format, NumberFormatInfo info, Span`1 destination, Int32& charsWritten) // at System.Decimal.TryFormat(Span`1 destination, Int32& charsWritten, ReadOnlySpan`1 format, IFormatProvider provider) // at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args) // at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args) // at Microsoft.FSharp.Core.PrintfImpl.InterpolandToString@917.Invoke(Object vobj) // at Microsoft.FSharp.Core.PrintfImpl.PrintfEnv`3.RunSteps(Object[] args, Type[] argTys, Step[] steps) // at Microsoft.FSharp.Core.PrintfModule.gprintf[a,TState,TResidue,TResult,TPrinter](FSharpFunc`2 envf, PrintfFormat`4 format) // at <StartupCode$fs>.$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()Это исключение приводит к ошибке кодирования. Чтобы исправить ошибку, удалите строку форматирования или замените действительную. Следующий пример исправляет ошибку, заменив недопустимую строку формата строкой формата "C" (валюта).
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.let price = 169.32m printfn $"The cost is {price:C2}." // 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.FormatException Исключение также можно создать с помощью методов синтаксического анализа, таких как DateTime.ParseExact и Guid.ParseExact, которые требуют синтаксического анализа строки, чтобы точно соответствовать шаблону, заданному строкой формата. В следующем примере строковое представление GUID должно соответствовать шаблону, заданному строкой стандартного формата G. Guid Однако реализация IFormattable структуры не поддерживает строку формата G.
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()open System let guidString = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb" printfn $"""{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 <StartupCode$fs>.$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()Это исключение также приводит к ошибке программирования. Чтобы исправить его, вызовите метод синтаксического анализа, который не требует точного формата, например DateTime.Parse или Guid.Parseили замените допустимую строку формата. В следующем примере исправлена ошибка путем Guid.Parse вызова метода.
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-1ac5291c38cbopen System let guidString = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb" printfn $"{Guid.Parse guidString}" // The example displays the following output: // ba748d5c-ae5f-4cca-84e5-1ac5291c38cbModule 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Один или несколько индексов элементов формата в составной строке форматирования больше индексов элементов в списке объектов или массиве параметров. В следующем примере самый большой индекс элемента формата в строке форматирования равен 3. Так как индексы элементов в списке объектов основаны на нулях, эта строка форматирования потребует от списка объектов четыре элемента. Вместо этого он имеет только три,
dattempиscale, поэтому код приводит к исключению FormatException во время выполнения:.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()open System type TemperatureScale = | Celsius = 0 | Fahrenheit = 1 | Kelvin = 2 let getCurrentTemperature () = let dat = DateTime.Now let temp = 20.6m let scale = TemperatureScale.Celsius String.Format("At {0:t} on {1:D}, the temperature is {2:F1} {3:G}", dat, temp, scale) getCurrentTemperature () |> printfn "%s" // The example displays output like the following: // Unhandled Exception: System.FormatException: Format specifier was invalid. // at System.Number.NumberToString(ValueStringBuilder& sb, NumberBuffer& number, Char format, Int32 nMaxDigits, NumberFormatInfo info) // at System.Number.TryFormatDecimal(Decimal value, ReadOnlySpan`1 format, NumberFormatInfo info, Span`1 destination, Int32& charsWritten) // at System.Decimal.TryFormat(Span`1 destination, Int32& charsWritten, ReadOnlySpan`1 format, IFormatProvider provider) // at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args) // at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args) // at System.String.Format(String format, Object arg0, Object arg1, Object arg2) // at Example.getCurrentTemperature() // at <StartupCode$fs>.$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 исключение является результатом ошибки разработчика. Его следует исправить, а не обрабатывать в
try/catchблоке, убедившись, что каждый элемент в списке объектов соответствует индексу элемента формата. Чтобы исправить этот пример, измените индекс второго элемента формата, чтобы ссылаться наdatпеременную, и уменьшайте индекс каждого последующего элемента формата по одному.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 Celsiusopen System type TemperatureScale = | Celsius = 0 | Fahrenheit = 1 | Kelvin = 2 let getCurrentTemperature () = let dat = DateTime.Now let temp = 20.6m let scale = TemperatureScale.Celsius String.Format("At {0:t} on {0:D}, the temperature is {1:F1} {2:G}", dat, temp, scale) getCurrentTemperature () |> printfn "%s" // The example displays output like the following: // At 10:40 AM on Wednesday, June 04, 2014, the temperature is 20.6 CelsiusModule 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Строка составного формата не является хорошо сформированной. В этом случае FormatException исключение всегда является результатом ошибки разработчика. Оно должно быть исправлено, а не обработано в блоке
try/catch.При попытке включить литеральные скобки в строку, как делает следующий пример, будет вызываться исключение.
result = String.Format("The text has {0} '{' characters and {1} '}' characters.", nOpen, nClose);let 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)Рекомендуемый способ включения литеральных фигурных скобок в составную строку форматирования заключается в том, чтобы включить их в список объектов и использовать элементы форматирования для вставки их в результирующую строку. Например, можно изменить предыдущую строку составного формата, как показано здесь.
string result; int nOpen = 1; int nClose = 2; result = String.Format("The text has {0} '{{' characters and {1} '}}' characters.", nOpen, nClose); Console.WriteLine(result);let 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)Исключение также возникает, если строка формата содержит опечатку. Следующий вызов String.Format метода исключает закрывающую скобку и связывает открывающую фигурную скобку с закрывающей скобкой.
int n1 = 10; int n2 = 20; String result = String.Format("{0 + {1] = {2}", n1, n2, n1 + n2);let n1 = 10 let 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)Чтобы исправить ошибку, убедитесь, что все открывающие и закрывающие фигурные скобки соответствуют.
String result = String.Format("{0} + {1} = {2}", n1, n2, n1 + n2);let result = String.Format("{0} + {1} = {2}", n1, n2, n1 + n2)Dim result As String = String.Format("{0} + {1} = {2}", n1, n2, n1 + n2)Вы предоставили список объектов в составном методе форматирования в виде строго типизированного массива параметров, а FormatException исключение указывает, что индекс одного или нескольких элементов формата превышает количество аргументов в списке объектов. Это происходит из-за отсутствия явного преобразования между типами массивов, поэтому вместо этого компилятор обрабатывает массив как один аргумент, а не как массив параметров. Например, следующий вызов метода Console.WriteLine(String, Object[]) вызывает FormatException исключение, хотя самый высокий индекс элементов формата равен 3, а массив параметров типа Int32 имеет четыре элемента.
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()open System let rnd = Random() let numbers = Array.zeroCreate<int> 4 let mutable total = 0 for i = 0 to 2 do let number = rnd.Next 1001 numbers[i] <- number total <- 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 <StartupCode$fs>.$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()Вместо обработки этого исключения следует исключить ее причину. Так как ни Visual Basic, ни C# не могут преобразовать целый массив в массив объектов, необходимо выполнить преобразование самостоятельно перед вызовом метода составного форматирования. В следующем примере представлена одна реализация.
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 = 2334open System let rnd = Random() let numbers = Array.zeroCreate<int> 4 let mutable total = 0 for i = 0 to 2 do let number = rnd.Next 1001 numbers[i] <- number total <- total + number numbers[3] <- total let values = Array.zeroCreate<obj> numbers.Length numbers.CopyTo(values, 0) Console.WriteLine("{0} + {1} + {2} = {3}", values) // The example displays output like the following: // 477 + 956 + 901 = 2334Imports 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 использует COR_E_FORMAT HRESULT, которая имеет значение 0x80131537.
Класс FormatException является производным от Exception и не добавляет уникальных элементов. Список начальных значений свойств для экземпляра FormatExceptionсм. в конструкторах FormatException.
Конструкторы
| Имя | Описание |
|---|---|
| FormatException() |
Инициализирует новый экземпляр класса FormatException. |
| FormatException(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр FormatException класса сериализованными данными. |
| FormatException(String, Exception) |
Инициализирует новый экземпляр FormatException класса с указанным сообщением об ошибке и ссылкой на внутреннее исключение, которое является причиной этого исключения. |
| FormatException(String) |
Инициализирует новый экземпляр FormatException класса с указанным сообщением об ошибке. |
Свойства
| Имя | Описание |
|---|---|
| Data |
Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении. (Унаследовано от Exception) |
| HelpLink |
Возвращает или задает ссылку на файл справки, связанный с этим исключением. (Унаследовано от Exception) |
| HResult |
Возвращает или задает HRESULT, закодированное числовое значение, назначенное определенному исключению. (Унаследовано от Exception) |
| InnerException |
Exception Возвращает экземпляр, вызвавшего текущее исключение. (Унаследовано от Exception) |
| Message |
Возвращает сообщение, описывающее текущее исключение. (Унаследовано от Exception) |
| Source |
Возвращает или задает имя приложения или объекта, вызывающего ошибку. (Унаследовано от Exception) |
| StackTrace |
Возвращает строковое представление непосредственных кадров в стеке вызовов. (Унаследовано от Exception) |
| TargetSite |
Возвращает метод, который вызывает текущее исключение. (Унаследовано от Exception) |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetBaseException() |
При переопределении в производном классе возвращает Exception первопричину одного или нескольких последующих исключений. (Унаследовано от Exception) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Устаревшие..
При переопределении в производном классе задает SerializationInfo с информацией об исключении. (Унаследовано от Exception) |
| GetType() |
Возвращает тип среды выполнения текущего экземпляра. (Унаследовано от Exception) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Создает и возвращает строковое представление текущего исключения. (Унаследовано от Exception) |
События
| Имя | Описание |
|---|---|
| SerializeObjectState |
Устаревшие..
Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Унаследовано от Exception) |