Compilerfehler CS0156

Aktualisiert: November 2007

Fehlermeldung

Eine throw-Anweisung ohne Argument ist in einer finally-Klausel, die in der nächsten einschließenden catch-Klausel geschachtelt ist, nicht zulässig.
A throw statement with no arguments is not allowed in a finally clause that is nested inside the nearest enclosing catch clause

Eine throw-Anweisung ohne Parameter kann nur in catch-Klauseln enthalten sein, die keine Parameter annehmen.

Weitere Informationen finden Sie unter Ausnahmebehandlungsanweisungen und unter Ausnahmen und Ausnahmebehandlung (C#-Programmierhandbuch).

Im folgenden Beispiel wird CS0156 generiert:

// 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
         }
      }
   }
}