Partager via


Modifier & Continuer (C#) : erreur 4033

La modification d'une instruction try/catch/finally lorsque le bloc finally est actif empêche la session de débogage de se poursuivre tant que Modifier & Continuer est activé.

Cette erreur se produit lorsque vous essayez de modifier une instruction try, catch ou finally lorsque le bloc finally correspondant contient une instruction active. Cette erreur se produit uniquement si le frame qui contient cette instruction active ne se trouve pas en haut de la pile des appels. Pour plus d'informations, consultez Active Statements.

Prenons l'exemple du code suivant :

class Program

{

   static void Example() { }

   static void Main(string[] args)

   {

      try

      {

         int a = 100;

      }

      finally

      {

         Example();

      }

   }

}

Si vous définissez un point d'arrêt sur l'appel à Example, puis déboguez l'application et essayez de remplacer a = 100 par a = 10, cette erreur se produit.

Pour corriger cette erreur

  • Annulez les modifications, puis continuez à déboguer sans les modifications. Vous pouvez apporter des modifications ultérieurement lorsque l'instruction n'est plus active.

    - ou -

    Dans le menu Déboguer, cliquez sur Arrêter le débogage, puis apportez les modifications et démarrez une nouvelle session de débogage.

Voir aussi

Référence

try-catch-finally (référence C#)

Modifications de code prises en charge (C#)

Modifier & Continuer (Visual C#)

Autres ressources

Erreurs et avertissements de Modifier & Continuer (C#)