コンパイラ エラー CS0160

更新 : 2007 年 11 月

エラー メッセージ

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

一連の catch ステートメントは、派生の降順になっている必要があります。たとえば、最派生オブジェクトを最初に指定する必要があります。

詳細については、「例外処理ステートメント」および「例外と例外処理 (C# プログラミング ガイド)」を参照してください。

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