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 تشکر