私は電子メールが2回入力された例外をキャッチしようとしています。電子メールが一意であるため例外をキャッチしなければなりません。私は、例外をキャッチするには、次のコードを持っている:メソッドがカスタム例外に入力しないのはなぜですか?
カスタム例外クラスが:例外がcatchedことになっている
public class EmailAlreadyExistsException : Exception
{
public EmailAlreadyExistsException(string message) : base(message) { }
}
:
public void UpdateUser(Customer customer)
{
try
{
this.Entities.SaveChanges();
}
catch (CommonLayer.exceptions.EmailAlreadyExistsException ex)
{
throw ex;
}
}
「SaveChanges」で例外をキャッチしようとしません。これは、デプリーネストされたEF/SqlServer例外ツリーでこのエラーを正確に見つけるのが面倒になる可能性があるからです。私は提出しようとする前に、データベースに入力された電子メールアドレスを照会します。 – Jan
あなたが私の答えに書いたものに基づいて "例外はsqlexceptionです。私はsqlexceptionからカスタム例外クラスを拡張する必要があります.." - この質問は同じ質問をしていません。あなたが例外を拡張する方法を知りたければ、それを求めているはずです。明らかにこの質問では、あなたが求めているのは、部分的に提供されたコードが機能しない理由です。 –