2

私の例外処理はさまざまな形式に散在しています。詳細な例外処理が必要なため、コードは次のようにもう少し複雑です。

catch (Exception ex)
{
   var conn = ((IObjectContextAdapter)this).ObjectContext.Connection as   
                                                          EntityConnection;
   if (conn.ConnectionString.IndexOf(Providers.SqlCe4) >= 0)
   {
     #region deal with exceptions

     Exception e = ex;
     SqlCeException sce = null;
     while (e != null)
     {
        sce = e.InnerException as SqlCeException;
        if (sce != null) break;
           e = e.InnerException;
     }
     if (sce != null)
     {
        SqlCeError = sce;
        switch (sce.NativeError)
        {
           case 25016:
              SaveErrorMessage = Localization.Texts.SqlCeException25016;
              break;
     ...

変更をクエリまたは保存するたびにコピーアンドペーストする代わりに、例外処理を1か所に集中させるにはどうすればよいですか?DbContext / ObjectContextの部分クラスを作成し、そこですべてのクエリを実行して変更を保存し、例外を処理するのは良いアプローチですか?

4

0 に答える 0