У меня странный симптом в приложении, где try/catch внутри обработчика для UnhandledExceptions не работает: (это точка останова внутри catch
не попадает даже если точка останова внутри try
делает).try/catch не работает внутри обработчика UnhandledException
Очевидно, что поиск «исключение, необработанное внутри UnhandledException» работает не очень хорошо для меня.
Я пробовал сделать мини-доказательство концепции, и, к сожалению, это работает.
Так что, пока я пытаюсь отследить корень проблемы, если у кого-то есть идеи, где искать, я был бы бодрый.
(Мы недавно изменили с XP на Windows7 и .Net 4.5 из 4.0 - я уверен, что ранее это сработало).
EDIT: Похоже, что это вызвано вызова вниз к (управляемом) C++ библиотеки, которая бросает System.AccessViolationException
. Как ни странно, если я заменил вызов throw new AccessViolationException
, он действительно сделает то, что я хочу ...
Попробуйте отбросить исключения в одном 'AggregateException' и перебросить его - это обычная практика в .NET. –
Я думаю, что мы не сможем обрабатывать исключение Unhandeled и должны окончательно выйти из приложения. – donstack
Итак, вы выполняете какую-то работу внутри своего UnhandledException, которая в свою очередь бросает исключение, которое вы хотите поймать? – CathalMF