Partager via


Erreur du compilateur CS0156

Mise à jour : novembre 2007

Message d'erreur

Une instruction throw sans argument n'est pas autorisée dans une clause finally imbriquée dans la clause catch la plus proche
A throw statement with no arguments is not allowed in a finally clause that is nested inside the nearest enclosing catch clause

Une instruction throw sans paramètre ne peut figurer que dans une clause catch qui n'utilise pas de paramètre.

Pour plus d'informations, consultez Instructions de gestion des exceptions et Exceptions et gestion des exceptions (Guide de programmation C#).

L'exemple suivant génère l'erreur CS0156 :

// CS0156.cs
using System;

namespace MyNamespace
{
   public class MyClass2 : Exception
   {
   }

   public class MyClass
   {
      public static void Main()
      {
         try
         {
            throw;   // CS0156
         }

         catch(MyClass2)
         {
            throw;   // this throw is valid
         }
      }
   }
}