更新:2007 年 11 月

错误消息

捕获或抛弃的类型必须从 System.Exception 派生

试图将不是从 System.Exception 派生的数据类型传递到 catch 块中。只有从 System.Exception 派生的数据类型才可以传递到 catch 块。有关更多信息,请参见异常处理语句异常和异常处理(C# 编程指南)

下面的示例生成 CS0155:

 复制代码
// 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
            {
            }
        }
    }
}