Ler em inglês

Partilhar via


Erro do compilador CS0155

O tipo capturado ou lançado 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, consulte Exceções e tratamento de exceções.

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  
            {  
            }  
        }  
    }  
}