Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

StackOverflowException, classe

Exception levée lorsque la capacité de la pile d'exécution est dépassée en raison d'un trop grand nombre d'appels à la méthode imbriquée. Cette classe ne peut pas être héritée.

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

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

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

Le type StackOverflowException expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par XNA FrameworkStackOverflowException()Initialise une nouvelle instance de la classe StackOverflowException, en affectant un message système décrivant l'erreur, tel que "L'opération demandée a provoqué un dépassement de capacité de la pile.", à la propriété Message de la nouvelle instance. Ce message prend en considération la culture du système en cours.
Méthode publiquePris en charge par XNA FrameworkStackOverflowException(String)Initialise une nouvelle instance de la classe StackOverflowException avec un message d'erreur spécifié.
Méthode publiquePris en charge par XNA FrameworkStackOverflowException(String, Exception)Initialise une nouvelle instance de la classe StackOverflowException avec un message d'erreur spécifié et une référence à l'exception interne ayant provoqué cette exception.
Début

  NomDescription
Propriété publiqueDataObtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l'utilisateur sur l'exception. (Hérité de Exception.)
Propriété publiqueHelpLinkObtient ou définit un lien vers le fichier d'aide associé à cette exception. (Hérité de Exception.)
Propriété publiqueHResultObtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkInnerExceptionObtient l'instance Exception qui a provoqué l'exception actuelle. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkMessageObtient un message qui décrit l'exception actuelle. (Hérité de Exception.)
Propriété publiqueSourceObtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur. (Hérité de Exception.)
Propriété publiquePris en charge par XNA FrameworkStackTrace Obtient une représentation sous forme de chaîne des objets immédiats sur la pile des appels. (Hérité de Exception.)
Propriété publiqueTargetSiteObtient la méthode qui lève l'exception actuelle. (Hérité de Exception.)
Début

  NomDescription
Méthode publiquePris en charge par XNA FrameworkEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetBaseExceptionEn cas de substitution dans une classe dérivée, retourne Exception qui est à l'origine d'une ou de plusieurs exceptions suivantes. (Hérité de Exception.)
Méthode publiquePris en charge par XNA FrameworkGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetObjectDataEn cas de substitution dans une classe dérivée, définit SerializationInfo avec des informations sur l'exception. (Hérité de Exception.)
Méthode publiquePris en charge par XNA FrameworkGetTypeObtient le type au moment de l'exécution de l'instance actuelle. (Hérité de Exception.)

Dans XNA Framework 3.0, ce membre est hérité de Object.GetType().
Méthode publiquePris en charge par XNA FrameworkToStringCrée et retourne une chaîne représentant l'exception en cours. (Hérité de Exception.)
Début

StackOverflowException est levé pour les erreurs de dépassement de capacité de la pile d'exécution, généralement en cas de récurrence très profonde ou non limitée. L'instruction MSIL (Microsoft Intermediate Language) Localloc lève StackOverflowException.

StackOverflowException utilise HRESULT COR_E_STACKOVERFLOW dont la valeur est 0x800703E9. Pour obtenir la liste des valeurs de propriétés initiales d'un objet StackOverflowException, consultez les constructeurs StackOverflowException.

RemarqueRemarque

La valeur de la propriété Data héritée est toujours null.

Considérations de version

Dans les versions antérieures du .NET Framework, votre application pouvait intercepter un objet StackOverflowException (par exemple, pour récupérer en cas de récurrence non limitée). Toutefois, cette méthode est souvent déconseillée, car elle requiert énormément de code supplémentaire pour intercepter correctement une exception de dépassement de capacité de la pile et continuer l'exécution du programme.

Depuis .NET Framework version 2.0, un objet StackOverflowException ne peut pas être intercepté par un bloc try-catch et le processus correspondant est arrêté par défaut. Par conséquent, il est recommandé aux utilisateurs d'écrire leur code pour détecter et prévenir tout dépassement de capacité de la pile. Par exemple, si votre application fonctionne sur la base de la récurrence, utilisez un compteur ou une condition d'état pour arrêter la boucle récursive. Note qu'une application qui héberge le Common Language Runtime (CLR) peut spécifier que le CLR décharge le domaine d'application où l'exception de dépassement de capacité de la pile se produit et laisse le processus correspondant se poursuivre. Pour plus d'informations, consultez ICLRPolicyManager, interface et Vue d'ensemble de l'hébergement.

Remarque sur la plateforme Windows 95, Windows 98, Windows 98 Deuxième Édition, Windows Millennium Edition : Un StackOverflowException levé ne peut pas être intercepté par un bloc try-catch. Par conséquent, l'exception entraîne l'arrêt immédiat du processus.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications Windows Phone

Pris en charge dans : 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 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft