OutOfMemoryException OutOfMemoryException OutOfMemoryException OutOfMemoryException Class

Определение

Исключение, которое выбрасывается при недостаточном объеме памяти для выполнения программы.The exception that is thrown when there is not enough memory to continue the execution of a program.

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

Комментарии

OutOfMemoryException использует значение HRESULT COR_E_OUTOFMEMORY, которая имеет значение 0x8007000E.OutOfMemoryException uses the HRESULT COR_E_OUTOFMEMORY, which has the value 0x8007000E.

Список начальных значений свойств для экземпляра OutOfMemoryException, см. в разделе OutOfMemoryException конструкторы.For a list of initial property values for an instance of OutOfMemoryException, see the OutOfMemoryException constructors.

Примечание

Значение наследуемого Data свойство всегда имеет null.The value of the inherited Data property is always null.

OutOfMemoryException Исключение имеет две основных причины:An OutOfMemoryException exception has two major causes:

  • Вы пытаетесь развернуть StringBuilder объекта за пределы длины, определяется его StringBuilder.MaxCapacity свойство.You are attempting to expand a StringBuilder object beyond the length defined by its StringBuilder.MaxCapacity property.

  • Среда CLR не удалось выделить достаточно непрерывной памяти, для успешного выполнения операции.The common language runtime cannot allocate enough contiguous memory to successfully perform an operation. Это исключение может генерироваться любого свойства назначения или вызов метода, требует выделения памяти.This exception can be thrown by any property assignment or method call that requires a memory allocation. Дополнительные сведения о причине появления OutOfMemoryException исключения, см. в разделе «Out of Memory» не ссылается на физическую память.For more information on the cause of the OutOfMemoryException exception, see "Out of Memory" Does Not Refer to Physical Memory.

    Этот тип OutOfMemoryException исключение представляет катастрофического сбоя.This type of OutOfMemoryException exception represents a catastrophic failure. Если вы решили обработки исключения, следует включить catch блок, который вызывает Environment.FailFast метод, чтобы завершить работу приложения и добавьте запись в журнал событий системы, как показано в следующем примере.If you choose to handle the exception, you should include a catch block that calls the Environment.FailFast method to terminate your app and add an entry to the system event log, as the following example does.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          try {
             // Outer block to handle any unexpected exceptions.
             try {
                string s = "This";
                s = s.Insert(2, "is ");
    
                // Throw an OutOfMemoryException exception.
                throw new OutOfMemoryException();
             }
             catch (ArgumentException) {
                Console.WriteLine("ArgumentException in String.Insert");
             }
    
             // Execute program logic.
          }
          catch (OutOfMemoryException e) {
             Console.WriteLine("Terminating application unexpectedly...");
             Environment.FailFast(String.Format("Out of Memory: {0}",
                                                e.Message));
          }
       }
    }
    // The example displays the following output:
    //        Terminating application unexpectedly...
    
    Module Example
       Public Sub Main()
          Try
             ' Outer block to handle any unexpected exceptions.
             Try
                Dim s As String = "This"
                s = s.Insert(2, "is ")
    
                ' Throw an OutOfMemoryException exception.
                Throw New OutOfMemoryException()
             Catch e As ArgumentException
                Console.WriteLine("ArgumentException in String.Insert")
             End Try
             
             ' Execute program logic.
    
          Catch e As OutOfMemoryException
             Console.WriteLine("Terminating application unexpectedly...")
             Environment.FailFast(String.Format("Out of Memory: {0}",
                                                e.Message))
          End Try
       End Sub
    End Module
    ' The example displays the following output:
    '       Terminating application unexpectedly...
    

Некоторые условия, при которых исключения и действия, которые можно предпринять для ее устранения включают следующее:Some of the conditions under which the exception is thrown and the actions you can take to eliminate it include the following:

При вызове StringBuilder.Insert метод.You are calling the StringBuilder.Insert method.

Вы пытаетесь увеличить длину StringBuilder объектов без учета размера, указанного по его StringBuilder.MaxCapacity свойство.You are attempting to increase the length of a StringBuilder object beyond the size specified by its StringBuilder.MaxCapacity property. В следующем примере показано OutOfMemoryException исключение, возникающее при вызове StringBuilder.Insert(Int32, String, Int32) метод, когда предпринимается попытка вставки строки, которые могли бы вызвать объекта Length свойство к превышению максимальной емкости.The following example illustrates the OutOfMemoryException exception thrown by a call to the StringBuilder.Insert(Int32, String, Int32) method when the example tries to insert a string that would cause the object's Length property to exceed its maximum capacity.

using System;
using System.Text;

public class Example
{
   public static void Main()
   {
      StringBuilder sb = new StringBuilder(15, 15);
      sb.Append("Substring #1 ");
      try {
         sb.Insert(0, "Substring #2 ", 1);
      }
      catch (OutOfMemoryException e) {
         Console.WriteLine("Out of Memory: {0}", e.Message);
      }
   }
}
// The example displays the following output:
//    Out of Memory: Insufficient memory to continue the execution of the program.
Imports System.Text

Module Example
   Public Sub Main()
      Dim sb As New StringBuilder(15, 15)
      sb.Append("Substring #1 ")
      Try
         sb.Insert(0, "Substring #2 ", 1)
      Catch e As OutOfMemoryException
         Console.WriteLine("Out of Memory: {0}", e.Message)
      End Try
   End Sub
End Module
' The example displays the following output:
'   Out of Memory: Insufficient memory to continue the execution of the program.

Необходимо выполнить одно из следующих действий, чтобы устранить эту ошибку:You can do either of the following to address the error:

Ваше приложение работает как 32-разрядном процессе.Your app runs as a 32-bit process.

32-разрядных процессов можно выделить не более 2 ГБ памяти виртуальной пользовательского режима в 32-разрядных системах и 4 ГБ памяти виртуальной пользовательского режима, в 64-разрядных системах.32-bit processes can allocate a maximum of 2GB of virtual user-mode memory on 32-bit systems, and 4GB of virtual user-mode memory on 64-bit systems. Это можно сделать более сложным для CLR выделить достаточно непрерывной памяти, при необходимости выделении большого.This can make it more difficult for the common language runtime to allocate sufficient contiguous memory when a large allocation is needed. Напротив 64-разрядных процессов можно выделить до 8 ТБ виртуальной памяти.In contrast, 64-bit processes can allocate up to 8TB of virtual memory. Чтобы устранить это исключение, перекомпилируйте приложение для 64-разрядной платформы.To address this exception, recompile your app to target a 64-bit platform. Сведения о предназначенных для конкретных платформ в Visual Studio, см. в разделе как: настроить целевые платформы в проектах.For information on targeting specific platforms in Visual Studio, see How to: Configure Projects to Target Platforms.

В приложении существует утечка неуправляемых ресурсовYour app is leaking unmanaged resources

Хотя сборщик мусора может освободить память, выделенная для управляемых типов, он не контролирует память, выделенная для неуправляемые ресурсы, такие как операционная система обрабатывает (включая дескрипторы файлов, отображенные в память файлы, каналы, разделы реестра и дескрипторы ожидания) и блоки памяти, выделенные непосредственно вызовы Windows API или путем вызова функции выделения памяти, таких как malloc.Although the garbage collector is able to free memory allocated to managed types, it does not manage memory allocated to unmanaged resources such as operating system handles (including handles to files, memory-mapped files, pipes, registry keys, and wait handles) and memory blocks allocated directly by Windows API calls or by calls to memory allocation functions such as malloc. Типы, которые используют неуправляемые ресурсы, реализуют IDisposable интерфейс.Types that consume unmanaged resources implement the IDisposable interface.

При использовании типа, который использует неуправляемые ресурсы, необходимо обязательно вызвать его IDisposable.Dispose метод после завершения его использования.If you are consuming a type that uses unmanaged resources, you should be sure to call its IDisposable.Dispose method when you have finished using it. (Некоторые типы также реализуют Close метод, идентичный функции Dispose метод.) Дополнительные сведения см. в разделе с помощью объектов, реализовывать IDisposable раздела.(Some types also implement a Close method that is identical in function to a Dispose method.) For more information, see the Using Objects That Implement IDisposable topic.

Если вы создали типу, который использует неуправляемые ресурсы, убедитесь, что реализации шаблона удаления и, при необходимости указан метод завершения.If you have created a type that uses unmanaged resources, make sure that you have implemented the Dispose pattern and, if necessary, supplied a finalizer. Дополнительные сведения см. в разделе реализация метода Dispose и Object.Finalize.For more information, see Implementing a Dispose method and Object.Finalize.

Вы пытаетесь создать большой массив в 64-разрядного процессаYou are attempting to create a large array in a 64-bit process

По умолчанию среда CLR в .NET Framework не поддерживает отдельных объектов, размер которых превышает 2 ГБ.By default, the common language runtime in .NET Framework does not allow single objects whose size exceeds 2GB. Чтобы переопределить это поведение по умолчанию, можно использовать <gcAllowVeryLargeObjects > параметр для включения массивы, общий размер которых превышает 2 ГБ.To override this default, you can use the <gcAllowVeryLargeObjects> configuration file setting to enable arrays whose total size exceeds 2 GB. В .NET Core поддерживает для массивов больше 2 ГБ включено по умолчанию.On .NET Core, support for arrays of greater than 2 GB is enabled by default.

Вы работаете с очень большими наборами данных (таких как массивы, коллекции или наборов данных базы данных) в памяти.You are working with very large sets of data (such as arrays, collections, or database data sets) in memory.

Когда интеллектуальных анализов данных и наборы данных, которые находятся в памяти становятся настолько большим, что среда CLR не удалось выделить достаточно непрерывной памяти для них, OutOfMemoryException результаты исключения.When data structures or data sets that reside in memory become so large that the common language runtime is unable to allocate enough contiguous memory for them, an OutOfMemoryException exception results.

Чтобы предотвратить OutOfMemoryException исключения, необходимо изменить приложение таким образом, меньше данных, находящихся в памяти или данные разделяются на сегменты, которые требуют меньшего размера выделения памяти.To prevent the OutOfMemoryException exceptions, you must modify your application so that less data is resident in memory, or the data is divided into segments that require smaller memory allocations. Например:For example:

  • Если вы являетесь извлечение всех данных из базы данных и их фильтрации в вашем приложении, чтобы свести к минимуму обращений к серверу, следует изменить запросы, чтобы вернуть только подмножество данных, необходимый вашему приложению.If you are retrieving all of the data from a database and then filtering it in your app to minimize trips to the server, you should modify your queries to return only the subset of data that your app needs. При работе с большими таблицами, несколько запросов почти всегда являются более эффективно, чем извлечение всех данных в одной таблице и затем преобразовывая их.When working with large tables, multiple queries are almost always more efficient than retrieving all of the data in a single table and then manipulating it.

  • При выполнении запросов, динамически создаваемые пользователями, следует убедиться, что число записей, возвращаемых запросом ограничено.If you are executing queries that users create dynamically, you should ensure that the number of records returned by the query is limited.

  • Если вы используете больших массивов или других коллекция объектов, результаты которого размер в OutOfMemoryException исключение, следует изменить приложение для работы в подмножествах данных, а не все одновременно с ним работать.If you are using large arrays or other collection objects whose size results in an OutOfMemoryException exception, you should modify your application to work the data in subsets rather than to work with it all at once.

Следующий пример возвращает массив, который состоит из значения с плавающей запятой 200 млн, а затем вычисляет их среднее значение.The following example gets a array that consists of 200 million floating-point values and then calculates their mean. Выходные данные примера показано, что, так как в примере сохраняется весь массив в памяти, прежде чем он вычисляет среднее значение, OutOfMemoryException возникает исключение.The output from the example shows that, because the example stores the entire array in memory before it calculates the mean, an OutOfMemoryException is thrown.

using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      Double[] values = GetData();
      // Compute mean.
      Console.WriteLine("Sample mean: {0}, N = {1}",
                        GetMean(values), values.Length);
   }

   private static Double[] GetData()
   {
      Random rnd = new Random();
      List<Double> values = new List<Double>();
      for (int ctr = 1; ctr <= 200000000; ctr++) {
         values.Add(rnd.NextDouble());
         if (ctr % 10000000 == 0)
            Console.WriteLine("Retrieved {0:N0} items of data.",
                              ctr);
      }
      return values.ToArray();
   }

   private static Double GetMean(Double[] values)
   {
      Double sum = 0;
      foreach (var value in values)
         sum += value;

      return sum / values.Length;
   }
}
// The example displays output like the following:
//    Retrieved 10,000,000 items of data.
//    Retrieved 20,000,000 items of data.
//    Retrieved 30,000,000 items of data.
//    Retrieved 40,000,000 items of data.
//    Retrieved 50,000,000 items of data.
//    Retrieved 60,000,000 items of data.
//    Retrieved 70,000,000 items of data.
//    Retrieved 80,000,000 items of data.
//    Retrieved 90,000,000 items of data.
//    Retrieved 100,000,000 items of data.
//    Retrieved 110,000,000 items of data.
//    Retrieved 120,000,000 items of data.
//    Retrieved 130,000,000 items of data.
//
//    Unhandled Exception: OutOfMemoryException.
Imports System.Collections.Generic

Module Example
   Public Sub Main()
      Dim values() As Double = GetData()
      ' Compute mean.
      Console.WriteLine("Sample mean: {0}, N = {1}",
                        GetMean(values), values.Length)
   End Sub
   
   Private Function GetData() As Double()
      Dim rnd As New Random()
      Dim values As New List(Of Double)()
      For ctr As Integer = 1 To 200000000
         values.Add(rnd.NextDouble)
         If ctr Mod 10000000 = 0 Then
            Console.WriteLine("Retrieved {0:N0} items of data.",
                              ctr)
         End If
      Next
      Return values.ToArray()
   End Function
   
   Private Function GetMean(values() As Double) As Double
      Dim sum As Double = 0
      For Each value In values
         sum += value
      Next
      Return sum / values.Length
   End Function
End Module
' The example displays output like the following:
'    Retrieved 10,000,000 items of data.
'    Retrieved 20,000,000 items of data.
'    Retrieved 30,000,000 items of data.
'    Retrieved 40,000,000 items of data.
'    Retrieved 50,000,000 items of data.
'    Retrieved 60,000,000 items of data.
'    Retrieved 70,000,000 items of data.
'    Retrieved 80,000,000 items of data.
'    Retrieved 90,000,000 items of data.
'    Retrieved 100,000,000 items of data.
'    Retrieved 110,000,000 items of data.
'    Retrieved 120,000,000 items of data.
'    Retrieved 130,000,000 items of data.
'
'    Unhandled Exception: OutOfMemoryException.

Следующий пример исключает OutOfMemoryException исключения путем обработки входящих данных без сохранения в памяти, сериализация данных в файл, при необходимости для разрешения дальнейшей обработке (эти строки будут закомментированы в примере набора данных Поскольку в этом случае они создают файл, размер которых превышает 1 ГБ) и возвращает среднее значение вычисляемого и количество вариантов вызывающую программу.The following example eliminates the OutOfMemoryException exception by processing the incoming data without storing the entire data set in memory, serializing the data to a file if necessary to permit further processing (these lines are commented out in the example, since in this case they produce a file whose size is greater than 1GB), and returning the calculated mean and the number of cases to the calling routine.

using System;
using System.IO;

public class Example
{
   public static void Main()
   {
      Tuple<Double, long> result = GetResult();
      Console.WriteLine("Sample mean: {0}, N = {1:N0}",
                        result.Item1, result.Item2);
   }

   private static Tuple<Double, long> GetResult()
   {
      int chunkSize = 50000000;
      int nToGet = 200000000;
      Random rnd = new Random();
      // FileStream fs = new FileStream(@".\data.bin", FileMode.Create);
      // BinaryWriter bin = new BinaryWriter(fs);
      // bin.Write((int)0);
      int n = 0;
      Double sum = 0;
      for (int outer = 0;
           outer <= ((int) Math.Ceiling(nToGet * 1.0 / chunkSize) - 1);
           outer++) {
         for (int inner = 0;
              inner <= Math.Min(nToGet - n - 1, chunkSize - 1);
              inner++) {
            Double value = rnd.NextDouble();
            sum += value;
            n++;
            // bin.Write(value);
         }
      }
      // bin.Seek(0, SeekOrigin.Begin);
      // bin.Write(n);
      // bin.Close();
      return new Tuple<Double, long>(sum/n, n);
   }
}
// The example displays output like the following:
//    Sample mean: 0.500022771458399, N = 200,000,000
Imports System.IO

Module Example
   Public Sub Main()
      Dim result As Tuple(Of Double, Long) = GetResult()
      Console.WriteLine("Sample mean: {0}, N = {1:N0}",
                        result.Item1, result.Item2)
   End Sub

   Private Function GetResult As Tuple(Of Double, Long)
      Dim chunkSize As Integer = 50000000
      Dim nToGet As Integer = 200000000
      Dim rnd As New Random()
'       Dim fs As New FileStream(".\data.bin", FileMode.Create)
'       Dim bin As New BinaryWriter(fs)
'       bin.Write(CInt(0))
      Dim n As Integer
      Dim sum As Double
      For outer As Integer = 0 To CInt(Math.Ceiling(nToGet/chunkSize) - 1)
         For inner = 0 To Math.Min(nToGet - n - 1, chunkSize - 1)
            Dim value As Double = rnd.NextDouble()
            sum += value
            n += 1
'            bin.Write(value)
         Next
      Next
'       bin.Seek(0, SeekOrigin.Begin)
'       bin.Write(n)
'       bin.Close()
      Return New Tuple(Of Double, Long)(sum/n, n)
   End Function
End Module
' The example displays output like the following:
'   Sample mean: 0.500022771458399, N = 200,000,000

Несколько раз объединении больших строк.You are repeatedly concatenating large strings.

Поскольку строки являются неизменяемыми, каждой операции сцепления строк создает новую строку.Because strings are immutable, each string concatenation operation creates a new string. Влияние для коротких строк, или для небольшого числа операций объединения незначительны.The impact for small strings, or for a small number of concatenation operations, is negligible. Но для больших строк или большое количество операций объединения, объединение строк может привести к большое количество операций выделения памяти и фрагментации памяти, низкая производительность и, возможно, OutOfMemoryException исключения.But for large strings or a very large number of concatenation operations, string concatenation can lead to a large number of memory allocations and memory fragmentation, poor performance, and possibly OutOfMemoryException exceptions.

При объединении больших строк или выполнения большого количества операций объединения, следует использовать StringBuilder вместо класса String класса.When concatenating large strings or performing a large number of concatenation operations, you should use the StringBuilder class instead of the String class. При обработке строки завершена, преобразовать StringBuilder экземпляр в строку путем вызова StringBuilder.ToString метод.When you have finished manipulating the string, convert the StringBuilder instance to a string by calling the StringBuilder.ToString method.

Закрепить большом числе объектов в памяти.You pin a large number of objects in memory.

Закрепление большом числе объектов в памяти в течение длительных периодов времени будет трудно выделить смежные блоки памяти сборщика мусора.Pinning a large number of objects in memory for long periods can make it difficult for the garbage collector to allocate contiguous blocks of memory. Если вы закрепили большом числе объектов в памяти, например с помощью fixed инструкции на языке C# или путем вызова GCHandle.Alloc(Object, GCHandleType) метод с типом дескриптора GCHandleType.Pinned, можно выполнять следующие адрес OutOfMemoryException исключение.If you've pinned a large number of objects in memory, for example by using the fixed statement in C# or by calling the GCHandle.Alloc(Object, GCHandleType) method with a handle type of GCHandleType.Pinned, you can do the following to address the OutOfMemoryException exception.

  • Проверять каждый объект действительно требуется закрепить.Evaluate whether each object really needs to be pinned,

  • Убедитесь, что каждый объект является Незакрепленным как можно скорее.Ensure that each object is unpinned as soon as possible.

  • Убедитесь, что при каждом вызове GCHandle.Alloc(Object, GCHandleType) метод память ПИН-код имеет соответствующего вызова GCHandle.Free метод позволяет отключить эту память.Make sure that each call to the GCHandle.Alloc(Object, GCHandleType) method to pin memory has a corresponding call to the GCHandle.Free method to unpin that memory.

Корпорации Майкрософт, промежуточные инструкции (MSIL) throw OutOfMemoryException исключение:The following Microsoft intermediate (MSIL) instructions throw an OutOfMemoryException exception:

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

OutOfMemoryException() OutOfMemoryException() OutOfMemoryException() OutOfMemoryException()

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

OutOfMemoryException(SerializationInfo, StreamingContext) OutOfMemoryException(SerializationInfo, StreamingContext) OutOfMemoryException(SerializationInfo, StreamingContext) OutOfMemoryException(SerializationInfo, StreamingContext)

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

OutOfMemoryException(String) OutOfMemoryException(String) OutOfMemoryException(String) OutOfMemoryException(String)

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

OutOfMemoryException(String, Exception) OutOfMemoryException(String, Exception) OutOfMemoryException(String, Exception) OutOfMemoryException(String, Exception)

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

Свойства

Data Data Data Data

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

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

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

(Inherited from Exception)
HResult HResult HResult HResult

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

(Inherited from Exception)
InnerException InnerException InnerException InnerException

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

(Inherited from Exception)
Message Message Message Message

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

(Inherited from Exception)
Source Source Source Source

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

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

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

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

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

(Inherited from Exception)

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

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

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

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

(Inherited from Exception)
GetType() GetType() GetType() GetType()

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

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Exception)

События

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

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

(Inherited from Exception)

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

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