Ler em inglês

Compartilhar via


Erro do Compilador CS0155

O tipo caught ou thrown deve ser derivado de System.Exception

Foi feita uma tentativa de passar um tipo de dados que não deriva de System.Exception para um bloco catch. Somente os tipos de dados que derivam de System.Exception podem ser passados para um bloco catch. Para obter mais informações sobre exceções, confira Exceções e tratamento de exceção.

O seguinte exemplo gera o erro CS0155:

C#
// 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  
            {  
            }  
        }  
    }  
}