Je suis en train d'ajouter une paire de valeurs clés et ayant des difficultés à ajouter la clé Exception.Data:problème en ajoutant à Exception.Data Dictionnaire
Le ENUM est de type int (par défaut)
catch (Exception ex)
{
ex.Data.Add(Enums.ExceptionData.SomeName, _someText);
}
note: quand j'ajoute une montre pour Enums.ExceptionData.SomeName, j'obtiens SomeName, le nom de l'enum back. pour la ligne ci-dessus en essayant d'ajouter cela comme une clé pour le dictionnaire.
Lorsque j'essaie de vérifier l'ex.Data plus loin dans la pile, il retourne null. Voici comment je tente de le vérifier:
ex.Data[Enums.ExceptionData.SomeName].ToString()
Alors, voici comment tout cela va vers le bas. Tout d'abord, dans mon Request.cs classe abstraite, ce code court terme (oui, _someText a une chaîne valide):
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;
}
Dans mon code-behind j'appelle cette méthode:
try
{
radio.UpdateFrequency(...);
LogFrequency();
}
catch (Exception ex)
{
radio.LogFailure(..., ex.Data[Enums.ExceptionDataRequest.SomeName].ToString());
}
et voici comment radio.UpdateFrequency ressemble:
public void UpdateFrequency(...)
{
....
// update frequency (which also performs opt-in)
FrequencyRequest request = new FrequencyRequest(actionID, email, listID);
FrequencyResponse response = (FrequencyResponse)request.SendRequest();
....
}
donc si cela ne fonctionne pas, (à moins croire) l'erreur de demande des bulles jusqu'à mon try/catch dans mon code-behind:
FrequencyRequest request = new FrequencyRequest(actionID, email, listID);
échoue, prenez maintenant que les données dans mon try-catch dans mon code-behind.
Mais si je l'attrape (mais pas jeter) quelque part entre où j'ajoute ces données et d'essayer de l'attraper à nouveau, serait que les données enlever la pile pour une raison quelconque, si vous attrapez une fois déjà et faire quelque chose? – PositiveGuy
bizarre, pour une raison quelconque, j'ai fait exactement la même chose que vous avez et je reçois encore zéro quand il essaie de trouver cette clé – PositiveGuy
J'ai même essayé de coder en dur dans la chaîne de valeur de clé – PositiveGuy