2010-10-22 9 views
0

Obtention du code d'erreur (hexadécimal) à partir d'une exception d'E/S ou d'une exception régulière!Obtention du code d'erreur à partir d'une IOException

Est-ce possible? Je sais qu'il a un code d'erreur, (HResult) mais l'accesseur get est privé.

Je ferais une sorte de chose ComException, mais je ne suis pas sûr des avantages/inconvénients de le faire, et si c'est même possible/le même.

Répondre

2

Here Il est suggéré d'appeler Marshall.GetHRForException.

+0

qui semble fonctionner! :) Je venais juste de le trouver et je suis revenu pour poster ma propre réponse mais tu m'as battu: P – caesay

0

Dérivez une classe spécifiée de Exception ou IOException et exposez la valeur HRESULT via une propriété interne.

class MyException:Exception 
{ 
    internal GetHRResult() 
    { 
     return base.get_HResult(); 
    } 
    ..... 
} 
+0

ce serait bien, sauf que j'ai essayé cela et pour une raison quelconque, (IOexceptionNameHere comme MyException) renvoie null. – caesay

+0

semble que je ne peux pas jeter l'exception à un personnalisé. – caesay

Questions connexes