英語で読む

次の方法で共有


コンパイラ エラー CS0155

キャッチ、または スローされた型は System.Exception から派生したものでなければなりません。

System.Exception から派生していないデータ型を catch ブロックに渡そうとしました。 System.Exception から派生したデータ型のみ catch ブロックに渡すことができます。 詳細については、「例外と例外処理」を参照してください。

次の例では CS0155 が生成されます。

C#
// CS0155.cs  
using System;  
  
namespace MyNamespace  
{  
    public class MyClass2  
    // try the following line instead  
    // public class MyClass2 : Exception  
    {  
    }  
    public class MyClass  
    {  
        public static void Main()  
        {  
            try  
            {  
            }  
            catch (MyClass2)   // CS0155, resolves if you derive MyClass2 from Exception  
            {  
            }  
        }  
    }  
}