2017-04-17 1 views
0

Je fais un exemple de synchronisation. J'ai deux exceptions qui ont les mêmes détails sur l'exception. Mais avec les codes d'erreur.Pourquoi différents codes d'erreur pour la même exception?

Et les deux exceptions ont la même Inner Exceptions

Qu'est-ce moyen? Quels codes d'erreur nous en diront plus que des exceptions? Comment obtenir les détails sur mon code d'erreur. Merci à l'avance

Microsoft.Synchronization.SyncException: A storage engine operation failed with error code 25051 (HRESULT = 0x80004005, Source IID = {0FB15084-AF41-11CE-BD2B-204C4F4F5020}, Parameters=(0, 0, 0, , , ,)). 

Microsoft.Synchronization.SyncException: A storage engine operation failed with error code 25009 (HRESULT = 0x80004005, Source IID = {0FB15084-AF41-11CE-BD2B-204C4F4F5020}, Parameters=(0, 0, 0, , , ,)). 
+1

Avez-vous regardé la 'InnerException' pour voir si elle vous donne plus d'informations à ce sujet? – Pikoh

+0

Oui @Pikoh. Pour les deux exceptions, les exceptions internes sont les mêmes. donc je ne suis pas posté dans la question en raison de la longueur. – Prashee

+1

J'obtiendrais le '.ToString()' complet sur l'exception pour les deux erreurs et je l'afficherais quand même, même si elles sont identiques. Sans cela, vous n'êtes pas susceptible d'obtenir une réponse significative. –

Répondre

2

De la rédaction du message, il semble que ce sont des erreurs de SQL CE. Si oui, jetez un oeil here pour la signification des codes d'erreur réels. Pour le code .NET qui enveloppe le code natif, il n'est pas rare qu'une exception gérée, SyncException ici, soit utilisée avec plusieurs codes d'erreur (exemple Win32Exception par exemple). De documentation il semble y avoir aucun moyen apparent d'obtenir ce code numérique. Cependant, si vous pouvez vraiment réagir différemment dans votre code, en fonction d'un code d'erreur ou de l'autre, est discutable quand même. Connectez-vous l'erreur avec tous les détails et être fait avec elle.