crei una tua classe Errore che eredita da Exception e nel costruttore implementi la logica che deve fare tutto quello che vuoi:
codice:
    internal sealed class MyException : Exception
    {
        internal MyException()
            : base()
        { 
            // Cosa faccio qui?
        }
    }
Uso questo sistema in ambienti di test per farmi arrivare mail quando il cliente inizia ad intravedere errori di cui non riesce a spiegarmi nulla