ASP.net InnerException: добавить запись в БД - PullRequest
0 голосов
/ 15 августа 2011

Прочитал учебник, но у меня все еще возникают проблемы с обнаружением внутреннего исключения, когда я пытаюсь добавить запись в базу данных.Каков правильный синтаксис для перехвата 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();
    }

Заранее спасибо!

1 Ответ

1 голос
/ 15 августа 2011

Попробуйте это:

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.

...