У меня есть исключение членства, которое выглядит следующим образом:
public enum MembershipError
{
EmailNotFound,
EmailNotConfirmed,
IncorrectPassword,
EmailExists
}
public class MembershipException : ApplicationException
{
public MembershipError MembershipError { get; set; }
public MembershipException(MembershipError membershipError)
: base(Enum.GetName(typeof (MembershipError), membershipError))
{
MembershipError = membershipError;
}
}
Должен ли я использовать enum в своем исключении или сделать исключение для каждого перечисления?Потому что тогда я бы использовал логику при перехвате исключения следующим образом:
try
{
}
catch (MembershipException exception)
{
switch (exception.MembershipError)
{
case MembershipError.EmailExists:
break;
//etc.
}
}
Мой сервисный уровень выдает эти исключения, веб-слой / в действии перехватывает их, генерирует правильный json и возвращает его в представление,Предложить альтернативу, пожалуйста?