Dans mon serveur multithread J'utilise le code suivant (avant d'exécuter le formulaire lui-même ou bien sûr)WinForms - pourquoi mes exceptions ne sont-elles pas prises?
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomainUnhandledException);
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(ApplicationThreadException);
Les méthodes appelées écrivent des exceptions à la liste afin que je puisse le fixer facilement. Mais aujourd'hui je suis venu et j'ai vu que VS avait jeté NullReference exception
et je n'ai aucune idée pourquoi il n'a pas été attrapé?
je peux le reproduire en appelant:
stream = null;
stream.Flush();
Le programme ne saute à la capture exception portée mais il reste sur la chasse line..strange. Toute autre exception est bien gérée ... peut-être parce que cette méthode n'est pas encore implémentée? Je suis sûr d'avoir vu "Object reference not set to an instance of object"
dans ma liste d'exceptions et le programme s'est poursuivi. Pourquoi cette exception particulière n'est-elle pas attrapée?
? Je pense que vous l'avez écrit vice versa, vous devez définir threadexception avant d'exécuter l'application ... Quoi qu'il en soit, cela fonctionne bien, toujours attraper l'expcetion, mais le seul après semaines n'a pas été intercepté - j'ai appelé la fonction future stream.FLush () et le flux était nul. – Thomas
Mon erreur, c'est ce que je voulais dire. –
Huf, j'avais peur que je ne comprenne pas bien. Je l'ai essayé à nouveau avec le réglage du flux à null et puis appel Flush - avec le débogueur, l'exception est interceptée mais il reste coincé sur la ligne Flush et répète encore ... peut-être parce que ce n'est pas mis en œuvre? – Thomas