Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe StackOverflowException

Eccezione generata quando si verifica un overflow dello stack di esecuzione perché contiene un numero eccessivo di chiamate a metodi annidate. Questa classe non può essere ereditata.

System.Object
  System.Exception
    System.SystemException
      System.StackOverflowException

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class StackOverflowException : SystemException

Il tipo StackOverflowException espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkStackOverflowException()Inizializza una nuova istanza di StackOverflowException classe, impostare Message la proprietà della nuova istanza a un messaggio del sistema che descrive l'errore, ad esempio “l'operazione richiesta ha causato un overflow dello stack.„ Questo messaggio considera le impostazioni cultura correnti del sistema.
Metodo pubblicoSupportato da XNA FrameworkStackOverflowException(String)Inizializza una nuova istanza di StackOverflowException classe con un messaggio di errore specificato.
Metodo pubblicoSupportato da XNA FrameworkStackOverflowException(String, Exception)Inizializza una nuova istanza di StackOverflowException classe con un messaggio di errore specificato e un riferimento all'eccezione interna che rappresenta la causa di questa eccezione.
In alto

  NomeDescrizione
Proprietà pubblicaData Ottiene una collezione di coppie chiave/valore che forniscono ulteriori informazioni definite dall'utente sull'eccezione. (Ereditato da Exception)
Proprietà pubblicaHelpLinkOttiene o imposta un collegamento al file della Guida associato all'eccezione. (Ereditato da Exception)
Proprietà pubblicaHResult Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato ad una specifica eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkInnerExceptionOttiene l'istanza di Exception che ha causato l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkMessageOttiene un messaggio che descrive l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSourceOttiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkStackTrace Ottiene una rappresentazione in forma di stringa dei frame nello stack di chiamate. (Ereditato da Exception)
Proprietà pubblicaTargetSite Ottiene il metodo che ha generato l'eccezione corrente. (Ereditato da Exception)
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkGetBaseExceptionSe utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive. (Ereditato da Exception)
Metodo pubblicoSupportato da XNA FrameworkGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetObjectDataQuando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna. (Ereditato da Exception)
Metodo pubblicoSupportato da XNA FrameworkGetTypeOttiene il tipo di runtime dell'istanza corrente. (Ereditato da Exception)

In XNA Framework 3.0 questo membro viene ereditato da Object.GetType().
Metodo pubblicoSupportato da XNA FrameworkToStringCrea e restituisce una rappresentazione in forma di stringa della corrente eccezione. (Ereditato da Exception)
In alto

StackOverflowException viene generato per gli errori di overflow dello stack di esecuzione, in genere nel caso di una ricorsione molto basso o non associata. Localloc Generaistruzione di Microsoft Intermediate Language (MSIL) StackOverflowException.

StackOverflowException utilizza il HRESULT COR_E_STACKOVERFLOW, che presenta il valore 0x800703E9. Per un elenco di valori di proprietà iniziali per un oggetto StackOverflowException l'oggetto, vedere StackOverflowException costruttori.

NotaNota

Il valore di ereditato Data la proprietà è sempre null.

Considerazioni della versione

Nelle versioni precedenti di .NET Framework, l'applicazione potrebbe intercettare un'eccezione StackOverflowException oggetto, ad esempio recuperare dalla ricorsione non associata). Tuttavia, questa pratica è attualmente tuttavia poiché il codice aggiuntivo significativo è obbligatorio in modo affidabile intercettare un'eccezione di overflow dello stack e continuare l'esecuzione del programma.

A partire da.NET Framework versione 2.0, a StackOverflowException l'oggetto non può essere rilevato da un blocco try-catch e il processo corrispondente viene terminato per impostazione predefinita. Di conseguenza, gli utenti è preferibile scrivere il codice per rilevare ed evitare un overflow dello stack. Ad esempio, se l'applicazione dipende dalla ricorsione, utilizzare un contatore o uno stato di stato per terminare il ciclo ricorsivo. Notare che un'applicazione che ospita Common Language Runtime (CLR) possibile specificare che CLR scarichi il dominio applicazione in cui un'eccezione di overflow dello stack si verifica e lasciato il processo corrispondente continuare. Per ulteriori informazioni, vedere Interfaccia ICLRPolicyManager e Cenni preliminari sull'hosting.

Nota sulla piattaforma Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition: generato StackOverflowException non può essere rilevato da un blocco try-catch. Di conseguenza, l'eccezione determina il processo a terminare immediatamente.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft