Je souhaite obtenir la boîte de dialogue Unformed-Exception Windows Forms par défaut lorsque mon application C# rencontre U-E. En 2005 vs quand je désactiver le débogage jit dans app.conf comme ceci:Boîte de dialogue Windows Forms Unhandled-Exception
<configuration>
<system.windows.forms jitDebugging="false" />
<configuration>
l'application se comporte correctement et montre Windows Forms dialogue par défaut U-E, avec Continuer, Quitter, appeler pile et tout.
Cependant dans vs 2008, sur la même machine ou différent, même si je diable jit je reçois toujours la boîte de dialogue Default .NET Unhandled-Exception, avec les boutons Debug, Send Report et Do not Send.
Comment puis-je faire en sorte que mon application 2008 ressemble à celle que je crée en 2005, pour afficher la boîte de dialogue Windows Forms U-E?
S'il vous plaît ne recommande pas d'utiliser
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
juste parce que je ne l'utilise gestionnaire personnalisé dans mon projet vs 2005, pourquoi devrais-je utiliser dans vs 2008? Je veux laisser ce travail faire CLR.
Toute aide est appréciée
Eh bien, je n'ai que le fil de l'interface utilisateur dans mon application. Fondamentalement, par exemple, je viens de créer une nouvelle application exemple à partir de zéro et ajouté seulement nullreferenceexception dans le constructeur de formulaire. J'avais essayé de jouer avec Application.SetUnhandledExceptionMode() sans aucune différence. Une note plus importante que je ne teste pas sur la machine avec le débogueur mais dans le PC de terrain, sans tel. Je crois comprendre que VS2008 ajoute un mécanisme d'enfilage transparent qui m'empêche de voir ce que je veux voir. – Pablo
Une exception dans le constructeur de formulaire bombardera AppDomain.UnhandledException, la boucle de message n'a pas encore été démarrée. VS2008 ou .NET 3.5 n'a rien ajouté de transparent. Vous ne savez pas ce que vous voulez voir, mais consigner l'exception dans un gestionnaire d'événements AppDomain.UnhandledException est important pour savoir ce qui s'est mal passé. Vous devez vraiment faire ce que vous ne voulez pas recommandé. –
vous avez raison Hans, l'erreur est non UI (UnhandledException) lorsqu'il est lancé à partir du constructeur et c'est le type de thread UI principal (ThreadException) lorsqu'il est lancé à partir de n'importe quel endroit dans ui. Donc, pour ThreadException, j'ai réussi à obtenir le ThreadExceptionDialog. Vos réponses ont beaucoup aidé, dommage que je ne puisse pas voter maintenant! – Pablo