コンパイラ エラー 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
}
}