2010-12-09 35 views
1

Comment obtenir le code d'erreur natif à partir d'une exception System.Exception? Pour être plus précis, j'attrape une EntityException et je dois vérifier si c'est "25028 SSCE_M_INVALIDPASSWORD Le mot de passe spécifié ne correspond pas au mot de passe de la base de données."Obtention de NativeErrorCode à partir d'une exception System.Exception?

L'exception interne de mon entité EntityException est une exception SqlCeException qui indique "Le mot de passe spécifié ne correspond pas au mot de passe de la base de données". et celui que je dois attraper explicitement.

Répondre

0

Le SqlCeException a une NativeError propriété, donc une fois que vous attrapez ce regard d'exception à la valeur de cette propriété:

catch (EntityException ex) 
{ 
    var sqlCeEx = ex.InnerException as SqlCeException; 
    if (sqlCeEx != null) 
    { 
     var nativeError = sqlCeEx.NativeError; 
     // Do something with the native error 
    } 
} 
+0

fait, je trouve ce droit savoir avec le débogueur) –