Sdílet prostřednictvím


Compilerfehler CS0160

Aktualisiert: November 2007

Fehlermeldung

Eine vorherige Catch-Klausel hat bereits alle Ausnahmen dieses oder eines übergeordneten Typs abgefangen ("Typ")
A previous catch clause already catches all exceptions of this or of a super type ('type')

Eine Reihe von Catch-Anweisungen muss in umgekehrter Ableitungsreihenfolge vorliegen. Die am meisten abgeleiteten Objekte müssen beispielsweise zuerst aufgeführt werden.

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

Im folgenden Beispiel wird CS0160 generiert:

// CS0160.cs
public class MyClass2 : System.Exception {}
public class MyClass
{
   public static void Main()
   {
      try {}

      catch(System.Exception) {}   // Second-most derived; should be second catch
      catch(MyClass2) {}   // CS0160  Most derived; should be first catch
   }
}