OutOfMemoryException OutOfMemoryException OutOfMemoryException OutOfMemoryException Class

Definizione

Eccezione generata quando non vi è memoria sufficiente per continuare l'esecuzione di un programma.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
Ereditarietà
OutOfMemoryExceptionOutOfMemoryExceptionOutOfMemoryExceptionOutOfMemoryException
Derivato
Attributi

Commenti

OutOfMemoryExceptionUSA HRESULT COR_E_OUTOFMEMORY, che ha il valore 0x8007000E.OutOfMemoryException uses the HRESULT COR_E_OUTOFMEMORY, which has the value 0x8007000E.

Per un elenco di valori di proprietà iniziali per un'istanza di OutOfMemoryException, vedere il OutOfMemoryException costruttori.For a list of initial property values for an instance of OutOfMemoryException, see the OutOfMemoryException constructors.

Nota

Il valore della proprietà ereditata Data è sempre. nullThe value of the inherited Data property is always null.

Un' OutOfMemoryException eccezione presenta due cause principali:An OutOfMemoryException exception has two major causes:

  • Si sta tentando di espandere un StringBuilder oggetto oltre la lunghezza definita dalla relativa StringBuilder.MaxCapacity proprietà.You are attempting to expand a StringBuilder object beyond the length defined by its StringBuilder.MaxCapacity property.

  • Il Common Language Runtime non può allocare memoria contigua sufficiente per eseguire correttamente un'operazione.The common language runtime cannot allocate enough contiguous memory to successfully perform an operation. Questa eccezione può essere generata da qualsiasi assegnazione di proprietà o chiamata al metodo che richiede un'allocazione di memoria.This exception can be thrown by any property assignment or method call that requires a memory allocation. Per ulteriori informazioni sulla ragione dell' OutOfMemoryException eccezione, vedere il post di Blog "memoria insufficiente" non si riferisce alla memoria fisica.For more information on the cause of the OutOfMemoryException exception, see the blog post "Out of Memory" Does Not Refer to Physical Memory.

    Questo tipo di OutOfMemoryException eccezione rappresenta un errore irreversibile.This type of OutOfMemoryException exception represents a catastrophic failure. Se si sceglie di gestire l'eccezione, è necessario includere un catch blocco che chiama il Environment.FailFast metodo per terminare l'applicazione e aggiungere una voce al registro eventi di sistema, come nell'esempio seguente.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...
    

Di seguito sono riportate alcune delle condizioni in base alle quali viene generata l'eccezione e le azioni che è possibile eseguire per eliminarlo:Some of the conditions under which the exception is thrown and the actions you can take to eliminate it include the following:

Si sta chiamando il StringBuilder.Insert metodo.You are calling the StringBuilder.Insert method.

Si sta tentando di aumentare la lunghezza di un StringBuilder oggetto oltre la dimensione specificata dalla relativa StringBuilder.MaxCapacity proprietà.You are attempting to increase the length of a StringBuilder object beyond the size specified by its StringBuilder.MaxCapacity property. Nell'esempio seguente viene illustrata OutOfMemoryException l'eccezione generata da una chiamata StringBuilder.Insert(Int32, String, Int32) al metodo quando l'esempio tenta di inserire una stringa che Length comporterebbe il superamento della capacità massima della proprietà dell'oggetto.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.

Per risolvere l'errore, è possibile eseguire una delle operazioni seguenti:You can do either of the following to address the error:

L'app viene eseguita come processo a 32 bit.Your app runs as a 32-bit process.

i processi a 32 bit possono allocare un massimo di 2 GB di memoria in modalità utente virtuale nei sistemi a 32 bit e 4 GB di memoria in modalità utente virtuale su sistemi a 64 bit.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. Questo può rendere più difficile per il Common Language Runtime allocare memoria contigua sufficiente quando è necessaria un'allocazione di grandi dimensioni.This can make it more difficult for the common language runtime to allocate sufficient contiguous memory when a large allocation is needed. Al contrario, i processi a 64 bit possono allocare fino a 8 TB di memoria virtuale.In contrast, 64-bit processes can allocate up to 8TB of virtual memory. Per risolvere questa eccezione, ricompilare l'app in modo che sia destinata a una piattaforma a 64 bit.To address this exception, recompile your app to target a 64-bit platform. Per informazioni sulla destinazione di piattaforme specifiche in Visual Studio, vedere procedura: Configurare progetti per le piattaforme di destinazione.For information on targeting specific platforms in Visual Studio, see How to: Configure Projects to Target Platforms.

Si è verificata la perdita di risorse non gestite da un'appYour app is leaking unmanaged resources

Sebbene il Garbage Collector sia in grado di liberare memoria allocata ai tipi gestiti, non gestisce la memoria allocata alle risorse non gestite, ad esempio gli handle del sistema operativo (inclusi gli handle per i file, i file mappati alla memoria, le pipe, le chiavi del registro di sistema e gli handle di attesa) e blocchi di memoria allocati direttamente dalle chiamate API Windows o dalle chiamate alle funzioni di allocazione della memoria, ad esempio 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. I tipi che utilizzano risorse non gestite implementano IDisposable l'interfaccia.Types that consume unmanaged resources implement the IDisposable interface.

Se si utilizza un tipo che utilizza risorse non gestite, è necessario assicurarsi di chiamare il relativo IDisposable.Dispose metodo al termine dell'utilizzo.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. Alcuni tipi implementano anche un Close metodo identico in funzione a un Dispose metodo. Per ulteriori informazioni, vedere l'argomento relativo all' utilizzo di oggetti che implementano 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.

Se è stato creato un tipo che usa risorse non gestite, assicurarsi che sia stato implementato il modello Dispose e, se necessario, fornito un finalizzatore.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. Per ulteriori informazioni, vedere implementazione di un metodo Dispose e Object.Finalize.For more information, see Implementing a Dispose method and Object.Finalize.

Si sta tentando di creare una matrice di grandi dimensioni in un processo a 64 bitYou are attempting to create a large array in a 64-bit process

Per impostazione predefinita, il Common Language Runtime in .NET Framework non consente oggetti singoli la cui dimensione supera 2 GB.By default, the common language runtime in .NET Framework does not allow single objects whose size exceeds 2GB. Per eseguire l'override di questa impostazione predefinita, è possibile usare l'impostazione del file di configurazione <> gcAllowVeryLargeObjects per abilitare le matrici le cui dimensioni totali superano i 2 GB.To override this default, you can use the <gcAllowVeryLargeObjects> configuration file setting to enable arrays whose total size exceeds 2 GB. In .NET Core, il supporto per matrici di dimensioni superiori a 2 GB è abilitato per impostazione predefinita.On .NET Core, support for arrays of greater than 2 GB is enabled by default.

In memoria si utilizzano set di dati di grandi dimensioni, ad esempio matrici, raccolte o set di dati di database.You are working with very large sets of data (such as arrays, collections, or database data sets) in memory.

Quando le strutture di dati o i set di dati che risiedono in memoria diventano talmente grandi che la Common Language Runtime non è in grado di allocare una quantità di memoria contigua sufficiente, viene generata un' OutOfMemoryException eccezione.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.

Per evitare le OutOfMemoryException eccezioni, è necessario modificare l'applicazione in modo che i dati siano residenti in memoria o che i dati siano divisi in segmenti che richiedono allocazioni di memoria ridotte.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. Ad esempio:For example:

  • Se si recuperano tutti i dati da un database e quindi si filtrano nell'app per ridurre al minimo i viaggi al server, è necessario modificare le query per restituire solo il subset di dati necessari per l'app.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. Quando si utilizzano tabelle di grandi dimensioni, più query sono quasi sempre più efficienti rispetto al recupero di tutti i dati in una singola tabella e alla relativa modifica.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.

  • Se si eseguono query create dagli utenti in modo dinamico, è necessario assicurarsi che il numero di record restituiti dalla query sia limitato.If you are executing queries that users create dynamically, you should ensure that the number of records returned by the query is limited.

  • Se si utilizzano matrici di grandi dimensioni o altri oggetti della raccolta le cui dimensioni hanno OutOfMemoryException come risultato un'eccezione, è necessario modificare l'applicazione in modo da utilizzare i dati in subset anziché utilizzarli tutti contemporaneamente.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.

Nell'esempio seguente viene ottenuta una matrice costituita da valori a virgola mobile 200 milioni, quindi viene calcolata la media.The following example gets a array that consists of 200 million floating-point values and then calculates their mean. L'output dell'esempio mostra che, poiché nell'esempio viene archiviata l'intera matrice in memoria prima di calcolare la media, viene OutOfMemoryException generata un'eccezione.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.

Nell'esempio seguente viene eliminata OutOfMemoryException l'eccezione elaborando i dati in arrivo senza archiviare l'intero set di dati in memoria, serializzando i dati in un file, se necessario, per consentire un'ulteriore elaborazione (queste righe sono impostate come commento nell'esempio Poiché in questo caso producono un file la cui dimensione è maggiore di 1 GB, e restituiscono la media calcolata e il numero di case alla routine chiamante.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

Si concatenano ripetutamente stringhe di grandi dimensioni.You are repeatedly concatenating large strings.

Poiché le stringhe non sono modificabili, ogni operazione di concatenazione di stringhe crea una nuova stringa.Because strings are immutable, each string concatenation operation creates a new string. L'effetto per le stringhe di piccole dimensioni o per un numero ridotto di operazioni di concatenazione è trascurabile.The impact for small strings, or for a small number of concatenation operations, is negligible. Tuttavia, per le stringhe di grandi dimensioni o un numero molto elevato di operazioni di concatenazione, la concatenazione di stringhe può causare un numero elevato di allocazioni di memoria e OutOfMemoryException frammentazione della memoria, scarse prestazioni ed eventualmente eccezioni.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.

Quando si concatenano stringhe di grandi dimensioni o si esegue un numero elevato di operazioni di concatenazione, è String necessario utilizzare la StringBuilder classe anziché la classe.When concatenating large strings or performing a large number of concatenation operations, you should use the StringBuilder class instead of the String class. Al termine della modifica della stringa, convertire l' StringBuilder istanza in una stringa chiamando il StringBuilder.ToString metodo.When you have finished manipulating the string, convert the StringBuilder instance to a string by calling the StringBuilder.ToString method.

È possibile aggiungere un numero elevato di oggetti in memoria.You pin a large number of objects in memory.

L'aggiunta di un numero elevato di oggetti in memoria per lunghi periodi può rendere difficile l'allocazione di blocchi di memoria contigui da parte del Garbage Collector.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. Se è stato aggiunto un numero elevato di oggetti in memoria, fixed ad esempio usando l'istruzione in C# o chiamando il GCHandle.Alloc(Object, GCHandleType) metodo con un tipo di GCHandleType.Pinnedhandle, è possibile eseguire le operazioni seguenti per risolvere l' OutOfMemoryException eccezione.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.

  • Valutare se è effettivamente necessario aggiungere ogni oggetto,Evaluate whether each object really needs to be pinned,

  • Verificare che ogni oggetto sia sbloccato il prima possibile.Ensure that each object is unpinned as soon as possible.

  • Verificare che ogni chiamata al GCHandle.Alloc(Object, GCHandleType) metodo per aggiungere memoria disponga di una chiamata corrispondente GCHandle.Free al metodo per Rimuovi tale memoria.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.

Le seguenti istruzioni MSIL (Microsoft Intermediate) OutOfMemoryException generano un'eccezione:The following Microsoft intermediate (MSIL) instructions throw an OutOfMemoryException exception:

Costruttori

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

Inizializza una nuova istanza della classe OutOfMemoryException.Initializes a new instance of the OutOfMemoryException class.

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

Inizializza una nuova istanza della classe OutOfMemoryException con dati serializzati.Initializes a new instance of the OutOfMemoryException class with serialized data.

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

Inizializza una nuova istanza della classe OutOfMemoryException con un messaggio di errore specificato.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)

Inizializza una nuova istanza della classe OutOfMemoryException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.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.

Proprietà

Data Data Data Data

Ottiene una raccolta di coppie chiave-valore che fornisce informazioni aggiuntive definite dall'utente relative all'eccezione.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ottiene un messaggio che descrive l'eccezione corrente.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ottiene il metodo che genera l'eccezione corrente.Gets the method that throws the current exception.

(Inherited from Exception)

Metodi

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Se utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.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()

Funge da funzione hash predefinita.Serves as the default hash function.

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

Quando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna.When overridden in a derived class, sets the SerializationInfo with information about the exception.

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

Ottiene il tipo di runtime dell'istanza corrente.Gets the runtime type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Crea e restituisce una rappresentazione di stringa dell'eccezione corrente.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Eventi

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Si applica a

Vedi anche