Шаблонный класс исключения
От: Pek2014 Россия  
Дата: 14.11.15 15:42
Оценка:
Чувствую, что изобрёл велосипед, а в чём подвох не пойму.

У меня несколько однотипных исключений в программе. Все они имеют совершенно одинаковый код.

[Serializable]
public class AbcdOperationalException : Exception
{
    public AbcdOperationalException()
    { }
    
    public AbcdOperationalException(string format, params object[] agrs) 
        : base(String.Format(format, agrs)) 
    { }
    
    public AbcdOperationalException(Exception innerException, string format, params object[] agrs) 
        : base(String.Format(format, agrs), innerException) 
    { }
    
    protected AbcdOperationalException(SerializationInfo info, StreamingContext context) 
        : base(info, context) 
    { }
}


Отличаются только имена классов. Обычно эти исключения ассоциируются с каким-то другим классом,
в контексте которого они работают. Мне надоело писать одно и тоже и я сделал шаблонный класс.
Все тоже самое, только...

[Serializable]
public class OperationalException<T> : Exception
{
...
}

throw new OperationalException<Abcd>("Blah-blah");
...
catch (OperationalException<Abcd> ex)
{
...
}



Всё вроде работает как надо. Использовать удобно. Писанины меньше, но чувствую, что изобрёл велосипед...
Почему нет такого стандартного шаблонного класса?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.