2013-07-15 3 views
1

Я хотел бы передать некоторое сообщение об ошибке вместе с поднятым исключением из источника elmah. например, у меня есть классMVC4: Как передать собственный журнал ошибок + исключение для Elmah?

public class Activity 
{ 
    public string Id { get; set; }  
    public Committee Committee { get; set; }  
    public Contact Contact { get; set; } 
    [Range(1950, 2050, ErrorMessage = "{0} must be between {1} and {2}.")] 
    [DisplayName("Activity End Date")] 
    public int? EndDate { get; set; }  
    [DisplayName("Source")] 
    public string Source { get; set; } 
    [DisplayName("Activity Role")] 
    public string Role { get; set; } 
    [DisplayName("Comments")] 
    public string Comments { get; set; } 
} 

Когда возникшее исключение, у меня нет значений этого класса в моем исключении. Поэтому я хочу передать эти значения и исключение в elmah.

Теперь я делаю

catch (Exception exception) 
      { 

       Elmah.ErrorSignal.FromCurrentContext().Raise(exception); 
       return View("Error"); 
      } 

Как я могу сделать?

ответ

3

Переопределить метод ToString() в классе и поднять исключение, как так:

catch (Exception exception) 
{ 
    var newException = new Exception(yourClass.ToString(), exception); 
    Elmah.ErrorSignal.FromCurrentContext().Raise(newException); 
} 

В вашем Activity классе:

public override string ToString() 
{ 
    //return concatenate the property names and values here .... 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^