Approuvé : Fortect
Pas la réponse que vous voulez ? Parcourez d’autres questions ignorées C # ou posez votre propre question.
Une exception peut être utilisée pour vérifier l’exception et l’exception interne pour l’exception dérivée de Win32Exception.
catch (exception e) var w32ex E = en tant qu'exception Win32 ; si (w32ex == null) w32ex E = .InnerException en tant que Win32Exception ; et si (w32ex! = zéro) entier = w32ex.ErrorCode; // créer un tout nouveau produit // faire d'autres informations
À partir de C # 6, if peut être utilisé dans un catch fact pour spécifier un état de santé qui doit apparaître vrai pour un gestionnaire afin de lever une seule exception.
problème (Win32Exception ex) où (par exemple InnerException win32Exception) var w32ex équivaut à (Win32Exception) ex.InnerException ; codes de programme var = w32ex.ErrorCode;
Comme dans les commentaires, vous avez vraiment besoin de voir quelle exception est levée afin de comprendre exactement ce que vous avez le potentiel de faire et dans quelles circonstances une rencontre particulière est meilleure que d’attraper une exception. À propos du pays :
show (BlahBlahException ex) // Que faire Attraper
(hors exception) var mot de passe = ex.HResult ;
Août a répondu personnellement ’11 à 0:08
61,5 mille Insigne d’or 1717
Vous devriez regarder les membres avec l’exception levée, en particulier .Message
.InnerException
.
J’aimerais également voir la documentation de InvokeMethod afin de voir s’il lève une classe d’exception plus précise qu’une exception – simplement de la win32Exception suggérée par @Preet. Peut-être que vous ne devriez alors pas prendre la classe de base dans Exception et aussi, regardez-la.
inhumé le 1er août 2011 jusqu’à 00h11
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
8 754
Basé sur la solution de Preet Sangha, ce qui suit devrait incorporer avec précision le scénario dans lequel vous travaillez avec une bonne solution solide et large qui peut conduire à de nombreuses exceptions.
Essayez
Object signifie le résultat de processClass.InvokeMethod ("Créer", methodArgs); saisir E) (Exception // Ici, j'espérais mettre un bon code d'erreur. à tout moment (ExceptionContainsErrorCode (e, 10004)) // Effectuer les actions souhaitées
bool unique ExceptionContainsErrorCode (exception e, int ErrorCode) Win32Exception winEx signifie e pour Win32Exception ; si possible (winEx! = null && ErrorCode == winEx.ErrorCode) renvoie vrai ; even while (e.InnerException! = null) ExceptionContainsErrorCode (e return.InnerException, ErrorCode); les faux mythes reviennent ;
Je ne vais pas trop approfondir la nécessité de parcourir la commande pour évaluer et mettre en œuvre les meilleures pratiques d’exception à cette gestion en limitant chaque type d’exception attendu à ses blocs silencieux.
répondu le 1 février 2017 à 15h51
Je vous recommande d’utiliser Clean Message à partir de l’objet exception comme dans le code suivant
Essayez Le résultat de l'objet implique processClass.InvokeMethod ("Créer", methodArgs);capture (exception e) // Utiliser Console.Write (e.Message); à partir d'une application de méthode // et utilisez MessageBox.Show (e.Message); en utilisant l'application WindowsForm et WPF
répondu le 29 janvier. 15 à 23:05
Une autre méthode consiste à récupérer directement l’erreur de programmation de chaque classe d’exception. Par exemple :
catch (exception) (pour un exemple if.InnerException est ServiceResponseException) ServiceResponseException srex = ex.InnerException as ServiceResponseException ; ErrorCode entreprise = srex.ErrorCode.ToString ();
répondu le 17 avril à 12h26.
… …
129
…
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.
Lancez un signal, arrêtez le filtre d’entrée et utilisez le débogueur pour rendre l’exclusion visuellement attrayante et voir quels faits vous développez. -Alternativement, vous pouvez obtenir le code qui devra être débogué et lancer le type d’exception à l’aide de GetType ().
Il est vraiment facile d’utiliser une exception. ToString () ils site à nouveau Il y a une ligne après la description associée à la différence. Vous pouvez également consulter notre base de données de débogage du progiciel, car elle contient des informations de débogage / enregistre plus ou moins une partie de l’application dans son ensemble.
Des problèmes de syntaxe se produisent au moment de la conception lorsque vous créez des erreurs de variété dans votre code. Par exemple, si vous écrivez complètement pendant que vous écrivez, lorsque vous écrivez WHILE dans ce cas, vous rencontrerez directement une erreur de syntaxe car C # est un langage majeur sensible à la casse.