Errore del compilatore CS0155

Aggiornamento: novembre 2007

Messaggio di errore

Il tipo rilevato o generato deve derivare da System.Exception.
The type caught or thrown must be derived from System.Exception

Si è tentato di passare un tipo di dati che non deriva da System.Exception in un blocco catch. È possibile passare nel blocco catch solo i tipi di dati derivati da System.Exception. Per ulteriori informazioni, vedere Istruzioni di gestione delle eccezioni e Eccezioni e gestione delle eccezioni (Guida per programmatori C#).

Il seguente codice di esempio genera l'errore 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
            {
            }
        }
    }
}