Мне интересно, как лучше всего иметь "если все остальное не удается поймать".
Я имею в виду, что вы обрабатываете как можно больше исключений в своем приложении, но все еще есть ошибки, поэтому мне нужно иметь что-то, что ловит все необработанные исключения, поэтому я могу собирать информацию и хранить их в базе данных или отправить их в веб-службу.
Захватывает ли событие AppDomain.CurrentDomain.UnhandledException все? Даже если приложение многопоточно?
Примечание: Windows Vista предоставляет собственные функции API, которые позволяют любому приложению восстановить себя после крушения... теперь не могу вспомнить имя... но я бы предпочел не используйте его, так как многие из наших пользователей все еще используют Windows XP.