Почему исключения AppDomain неизменно завершают работу приложения?

Это связано спредыдущий вопрос.

Сейчас я пытаюсь понять, почему исключение потока пользовательского интерфейса может быть предотвращено от завершения приложения, в то время как исключения не-пользовательского интерфейса не могут быть.

Для справки см.этот пример.

Самое главное, что я хотел бы иметь в этом случае, это «тихо» завершить процесс - без отображения диалогового окна Windows, которое спрашивает, хочу ли я отправить отчет об ошибке или нет.

Это мой AppDomain UnhandledExceptionHandler:

private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{            
    try
    {
        // Maybe do some logging here if allowed
    }
    catch
    {
    }

    // then just terminate the application
    Application.Exit();            
}

ОБНОВИТЬ
В свете комментариев вэтот ответЯ хотел бы уточнить, что наиболее важно, я хотел бы узнать больше о механизме, который позволяет потоку пользовательского интерфейса иметь раннюю возможность ловить необработанные исключения черезApplication.ThreadException механизм. И может ли такое поведение быть реализовано в потоке без пользовательского интерфейса.

Ответы на вопрос(3)

Ваш ответ на вопрос