Нет, main не будет ловить исключения, выданные из других потоков. Вам нужно будет использовать нестандартное, специфичное для платформы средство, которое обращается к необработанным исключениям, чтобы агрегировать обработку, как вы описываете.
Когда я создаю такие приложения, я удостоверяюсь, что у каждого активного объекта есть свой собственный блок обработки исключений верхнего уровня, именно для предотвращения взрыва всего приложения при сбое одного потока. Я полагаю, что использование специфичного для платформы улова требует от всего вашего кода / решения неаккуратного подхода. Я бы не стал использовать такую вещь.