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 методов класса и
Parse
методов иParseExact
некоторых типов.В большинстве случаев, особенно если строка, которую вы преобразуете, вводится пользователем или считывается из файла, следует использовать
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" (currency).
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-1ac5291c38cb
open System let guidString = "ba748d5c-ae5f-4cca-84e5-1ac5291c38cb" printfn $"{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
Один или несколько индексов элементов форматирования в строке составного формата больше индексов элементов в списке объектов или массиве параметров. В следующем примере наибольший индекс элемента форматирования в строке форматирования — 3. Так как индексы элементов в списке объектов отсчитываются от нуля, для этой строки формата потребуется, чтобы в списке объектов было четыре элемента. Вместо этого он имеет только три,
dat
,temp
и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 Celsius
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 {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 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
Строка составного формата не является правильной. В этом случае 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 = 2334
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 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 = 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 использует COR_E_FORMAT HRESULT, который имеет значение 0x80131537.
Класс FormatException является производным от Exception и не добавляет уникальных членов. Список начальных значений свойств для экземпляра FormatException, см. в разделе FormatException конструкторы.
Конструкторы
FormatException() |
Инициализирует новый экземпляр класса FormatException. |
FormatException(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр класса FormatException с сериализованными данными. |
FormatException(String) |
Инициализирует новый экземпляр класса FormatException с указанным сообщением об ошибке. |
FormatException(String, Exception) |
Инициализирует новый экземпляр класса 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) |