Sobes.tech
Junior — Middle

Quelles méthodes existent pour provoquer un dépassement de pile lors de l'exécution du programme?

sobes.tech IA

Réponse de l'IA

Le dépassement de pile en C# est généralement causé par une récursion infinie ou trop profonde. Les principales méthodes provoquant un dépassement de pile :

  • Récursion infinie : une fonction qui s'appelle elle-même sans condition de sortie.
void Recursive()
{
    Recursive(); // appel sans condition de sortie
}

Recursive();
  • Récursion profonde : appel récursif avec un grand nombre d'appels imbriqués dépassant la taille de la pile.

  • Création de grandes variables locales : déclarer des tableaux locaux très grands ou des structures peut conduire à un dépassement de pile, mais c'est moins courant.

Le dépassement de pile entraîne une exception StackOverflowException en .NET, qui ne peut pas être attrapée ni gérée dans le code.