Elmah إضافة رسالة إلى خطأ تم تسجيله من خلال استدعاء لرفع (هـ)

StackOverflow https://stackoverflow.com/questions/3812538

  •  26-09-2019
  •  | 
  •  

سؤال

أنا مرتبك بعض الشيء في كيفية إضافة رسالة إلى خطأ تم تسجيله برمجيًا مع Elmah.

على سبيل المثال:

public ActionResult DoSomething(int id)
{
    try { ... }

    catch (Exception e)
    {
        // I want to include the 'id' param value here, and maybe some
        // other stuff, but how?
        ErrorSignal.FromCurrentContext().Raise(e);
    }
}

يبدو أن كل ما يمكن أن يفعله Elmah هو تسجيل الاستثناء الخام ، كيف يمكنني أيضًا تسجيل معلومات التصحيح الخاصة بي؟

هل كانت مفيدة؟

المحلول

يمكنك إلقاء استثناء جديد إعداد الأصل كاستثناء داخلي وسيقوم Elmah بتسجيل الرسائل لكليهما:

catch(Exception e)
{
    Exception ex = new Exception("ID = 1", e);
    ErrorSignal.FromCurrentContext().Raise(ex);
}

سيظهر

System.Exception: ID = 1 ---> System.NullReferenceException: Object reference not set to an instance of an object.

نصائح أخرى

لقد وجدت أنه يمكنني أيضًا فعل شيء مثل:

Elmah.ErrorSignal.FromCurrentContext().Raise(new NotImplementedException("class      FbCallback.Page_Load() Request.Url= " + Request.Url));

لتسجيل رسائلي الخاصة. ثم عندما أتصفح

http://localhost:5050/elmah.axd

أرى رسائلي على أنها نوع notimplementedException. ليست جميلة جدا ولكن تعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top