Я пытаюсь добавить пару ключей значение и возникают проблемы при добавлении ключа к Exception.Data:Проблема добавления в Exception.Data словарь
Перечисление имеет тип Int (по умолчанию)
catch (Exception ex)
{
ex.Data.Add(Enums.ExceptionData.SomeName, _someText);
}
note: когда я добавляю часы для Enums.ExceptionData.SomeName, я получаю SomeName, имя переименования обратно. для строки выше при попытке добавить это как ключ к словарю.
Когда я пытаюсь проверить ex.Data далее по стеку, он возвращает null. Вот как я пытаюсь проверить это:
ex.Data[Enums.ExceptionData.SomeName].ToString()
Так вот как это все идет вниз. Во-первых, в моем Request.cs Абстрактный класс, этот код в конечном итоге работает (да, _someText имеет действительную строку):
try
{
// Send the Request
requestStream = request.GetRequestStream();
requestStream.Write(data, 0, data.Length);
requestStream.Close();
// get response
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
// include SOAP string that was sent
ex.Data.Add(Enums.ExceptionDataRequest.SomeName, _someText);
string test;
}
В моем коде фоновым я называю этот метод:
try
{
radio.UpdateFrequency(...);
LogFrequency();
}
catch (Exception ex)
{
radio.LogFailure(..., ex.Data[Enums.ExceptionDataRequest.SomeName].ToString());
}
и вот как выглядит radio.UpdateFrequency:
public void UpdateFrequency(...)
{
....
// update frequency (which also performs opt-in)
FrequencyRequest request = new FrequencyRequest(actionID, email, listID);
FrequencyResponse response = (FrequencyResponse)request.SendRequest();
....
}
так, если это не удается, (в не менее верит) ошибка запроса пузыри до моей Try/улова в моем коде-за:
FrequencyRequest request = new FrequencyRequest(actionID, email, listID);
терпит неудачу, теперь захватить эти данные в моих примерках улова в моем коде-позади.
Но что, если я ловлю его (но не бросать) где-то между, где я добавляю эти данные и пытаясь поймать его снова, будет, что данные будут удалены из стека по какой-то причине, если вы ловите его один раз уже и что-то делать? – PositiveGuy
странно, по какой-то причине я сделал точно так же, как и у вас, и я все еще получаю null, когда он пытается найти этот ключ – PositiveGuy
Я даже пытался жестко кодировать строку значений – PositiveGuy