Entity Framework و InnerException
دوشنبه 31 تیر 1392Entity Framework و InnerException <br/> در Entity Framework بیشتر استثناها تودرتو هستند و ما باید تمام استثناها رو بررسی کنیم تا به پیغام اصلی خطا برسیم. با استفاده از تکه کد زیر به راحتی میتونیم استثناها رو پیمایش کنیم و متن خطا را مشخص کنیم.
در Entity Framework بیشتر استثناها تودرتو هستند و ما باید تمام استثناها رو بررسی کنیم تا به پیغام اصلی خطا برسیم. با استفاده از تکه کد زیر به راحتی میتونیم استثناها رو پیمایش کنیم و متن خطا را مشخص کنیم.
catch (Exception ex) { StringBuilder errorMsg = new StringBuilder(); for (Exception current = ex; current != null; current = current.InnerException) { if (errorMsg.Length > 0) errorMsg.Append("\n"); errorMsg.Append(current.Message.Replace("See the inner exception for details.", string.Empty)); } // log errorMsg.ToString(); }
برای استفاده در قسمتهای مختلف برنامه یک متد الحاقی مانند زیر تعریف میکنیم:
public static string ExceptionToString(this Exception ex) { StringBuilder errorMsg = new StringBuilder(); for (Exception current = ex; current != null; current = current.InnerException) { if (errorMsg.Length > 0) errorMsg.Append("\n"); errorMsg.Append(current.Message. Replace("See the inner exception for details.", string.Empty)); } return errorMsg.ToString(); }
catch (Exception ex) { // log ex.ExceptionToString(); }
- C#.net
- 2k بازدید
- 2 تشکر