У меня есть проект, в котором в отчете об ошибках я хочу отправить полный отчет об ошибке по электронной почте. Я перехватываю исключение и передаю всю информацию другому методу, который отвечает за отправку письма в службу поддержки.
Я добавляю важные пользовательские значения в объект Exception.Data. Однако я не могу определить, какой тип мне нужно использовать в моем методе для всего объекта Data, который нужно передать.
Вот мой код:
catch (Exception exc)
{
exc.Data.Add("ID", id);
emailConnector.sendErrorEmail(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name.ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), exc.Message, exc.Data, exc.StackTrace);
}
Я передаю exc.Data методу sendErrorEmail, поэтому в объявлениях параметров у меня есть:
public void sendErrorEmail(string origin, string error_message, IDictionary<object, object> data, string stack)
Но я не могу получить правильное объявление типа для Exception.Data. Я предпочитаю сохранять переменные и структуру одинаковыми (без новых переменных), потому что в настоящее время у меня есть десятки методов, вызывающих sendErrorEmail в блоке Catch.
Какой тип я должен использовать, или есть более простой способ получить это Exception. Данные переданы правильно с дополнительной информацией, которую я включил в нее?
Спасибо