CS0155 de erro do compilador

Mensagem de erro

Tipo caught ou thrown deve ser derivado de sistema.exceção

Foi feita uma tentativa para passar um tipo de dados que não é derivado de sistema.exceção into a catch bloco.Somente os tipos de dados que derivam de sistema.exceção podem ser passados em um catch bloco.Para obter mais informações, consulte Instruções de manipulação de exceção and Exceções e manipulação de exceção (guia de programação C#).

O exemplo a seguir gera 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
            {
            }
        }
    }
}