私はこのようになりますメンバーシップの例外があります。これは例外を使用する適切な方法ですか?
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;
}
}
は、私は私の例外で列挙型を使用するか、各列挙型の例外を作るべきか?このような例外をキャッチするとき、私はロジックを置くことになるので:私のサービス層は、これらの例外をスロー
try
{
}
catch (MembershipException exception)
{
switch (exception.MembershipError)
{
case MembershipError.EmailExists:
break;
//etc.
}
}
、アクションでWeb層は、/これらは、適切なJSONを生成および表示に戻すキャッチ。 代わりの方法を提案してください。
私は2つの 'out'を1つのクラスにマージして返します。 –
@Lolcoder:しかし、ブール戻り値はどうですか? Tryメソッドを使用することのポイントのようなものです。また、新しいクラスを作るのではなく、 'Tuple'を使うことを検討してください。 – Brian