Ошибка компилятора CS0155
Обновлен: Ноябрь 2007
Сообщение об ошибке
Перехваченные или сгенерированные типы должны быть производными от System.Exception
The type caught or thrown must be derived from 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
{
}
}
}
}