Errore del compilatore CS0160

Una clausola catch precedente rileva già tutte le eccezioni del tipo this o super ('type')

Una serie di clausole catch deve essere in ordine di derivazione decrescente. Ad esempio, gli oggetti più derivati devono essere visualizzati per prima.

Per ulteriori informazioni vedere Eccezioni e gestione delle eccezioni.

L'esempio seguente genera l'errore CS0160:

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