コンパイラ エラー CS0160

前の catch 句は、これまたはスーパー型 ('type') の例外を、すべて既にキャッチしています

一連の catch 句は、派生の降順になっている必要があります。 たとえば、最派生オブジェクトが最初に現れる必要があります。

詳細については、「例外と例外処理」を参照してください。

次の例では 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  
   }  
}