编译器错误 CS0155
捕获或抛弃的类型必须从 System.Exception 派生
尝试将不是派生自 System.Exception 的数据类型传递到 catch 块中。 只有派生自 System.Exception 的数据类型才能传递到 catch 块中。 有关详细信息,请参阅异常和异常处理。
下面的示例生成 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
{
}
}
}
}