0

教科書を読みましたが、データベースにレコードを追加しようとすると、内部例外をキャッチするのにまだ問題があります。クラスでInnerExceptionをキャッチするための適切な構文は何ですか?

内部の期待はdb.SaveChangesにスローされています。レコードを追加するための'addReviews.cs'クラスファイルのコードは次のとおりです。

  public void addReview(int restId, int timeID, string dateValue, string describe, int cuisineId, int serviceId, int ambianceId, string memberId)
    {
        REVIEW addReview = new REVIEW();
        addReview.REVIEW_DATE = Convert.ToDateTime(dateValue);
        addReview.REVIEW_DATE_SUBMITTED = DateTime.Today;
        addReview.REVIEW_DESC = describe;
        addReview.TIME_ID = timeID;
        addReview.REVIEWER_ID = 1;
        addReview.FOOD_ID = cuisineId;
        addReview.SERVCE_ID = serviceId;
        addReview.AMBIENCE_ID = ambianceId;
        addReview.REST_ID = restId;
        addReview.PRICE_ID = 1;

        //Add record to database
        db.AddToREVIEWs(addReview);
        db.SaveChanges();
    }

前もって感謝します!

4

1 に答える 1

1

これを試してみてください:

try
{
  db.SaveChanges();
}
catch(ApplicationException exception)
{
   // just log and throw out
   System.Diagnostics.Debug.WriteLine(
              String.Concat(
                   "EXCEPTION: ", 
                   exception.ToString));

   if (exception.InnerException != null)
   {
      System.Diagnostics.Debug.WriteLine(
               String.Concat(
                  "INNER EXCEPTION: ", 
                  exception.InnerException.ToString));
   }

   throw;
}

PS:より具体的な例外をキャッチしてみてください。あなたの場合は、SqlException同様にキャッチする価値があります。

于 2011-08-14T22:37:52.433 に答える