Прочитать на английском

Поделиться через


Ошибка компилятора CS0155

Тип в операторах caught или thrown должен быть производным от System.Exception.

Выполнена попытка передачи типа данных, который не является производным от System.Exception , в блок catch . В блок catch можно передавать только типы данных, которые являются производными от System.Exception . Дополнительные сведения см. в разделе "Исключения" и "Обработка исключений".

Следующий пример приводит к возникновению ошибки 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  
            {  
            }  
        }  
    }  
}