私はMVC3 Dot NetプロジェクトでEFを使用しています。Exceptionを処理し、C#を使用して適切なメッセージを表示する方法は?
Exception(すなわちex)のオブジェクト内のすべての例外を捕捉しています これでどのようにSQlExceptionsを取得(またはフィルタリング)できますか、意味のあるメッセージを表示することができます。 私は例外/インナーexcetionを通じてSystem.Data.UpdateExceptionクラスに
私はMVC3 Dot NetプロジェクトでEFを使用しています。Exceptionを処理し、C#を使用して適切なメッセージを表示する方法は?
Exception(すなわちex)のオブジェクト内のすべての例外を捕捉しています これでどのようにSQlExceptionsを取得(またはフィルタリング)できますか、意味のあるメッセージを表示することができます。 私は例外/インナーexcetionを通じてSystem.Data.UpdateExceptionクラスに
ループを取得し、(exはのSQLExceptionである){} たぶん、あなたはSystem.Data.Entityへの参照を追加する逃したかどうかを確認しておりません。問題に直面して
あなただけUpdateExceptionsをしたい場合ので、あなたは
(あなたは、具体的ですべての例外を何かをやっている場合を除き、またはまったく)あなたが最初の例外をキャッチすべきではないSystem.Data.UpdateExceptionクラス
を参照してくださいいけませんその例外を捕捉するだけです。 このキャッチは、例えば、より一般的なもので、他の取り扱いを超えるべきである
try { } catch(System.Data.UpdateException ex) { } catch(Exception ex) //optionally { ///less generic handling }
あなたはappose非常にいいですが好きですが必要な場合(e.Exception!= null){ \t if(e.ExceptionがSqlException){ \t \t SqlException sqlExcep =(SqlException) e.Exception; \t \tスイッチ(sqlExcep.Number){ \t \t \t場合SqlExceptionNumber.ForeignKeyConstraint: \t \t \t \t this.ExceptionDetails.Text + = "エラー:外部キーViolation.The契約を挿入することはできません。"; \t \t \t \t break; \t \t \tケースSqlExceptionNumber.UniqueKeyConstraint: – Ranjit
上記のコードをいくつか投稿してください。完全に理解していません。 e.Exceptionがスローされた例外ではなくその型であるかどうかをチェックしますか? –
は友人答えた場合、私はSystem.Data.UpdateException – Ranjit
のためのソリューションを持ってありがとう。また、一般的なログELMAHのために考えます解決策でした: – ivowiblo