Я имею в виду, если основной поток в java создал новый поток и запустит его, если в любом созданном потоке возникнет исключение, основной поток будет уведомлен
Это неверно. Если основной поток явно не настроит обработчик необработанных исключений, он не будет уведомлен о каких-либо исключениях в потоке, который он запускает (и обработчик необработанных исключений также не будет работать в основном потоке, поэтому технически основной поток вообще не уведомляется ).
«Иллюзия стека вызовов» заключается в том, что концептуальный поток логики c больше не соответствует физическому стеку вызовов, когда вы используете такие вещи, как рабочие очереди для запланировать отдельные задачи в других потоках.
Фактический стек вызовов любой сбойной подзадачи в такой очереди покажет код, связанный с обработкой очереди , но не покажет стек вызовов, связанный с код, который изначально ставил в очередь задачу , которая, возможно, во многих случаях является наиболее интересной.