Сообщение Re[2]: Исключение в другом потоке от 19.08.2025 20:06
Изменено 19.08.2025 20:08 T4r4sB
Re[2]: Исключение в другом потоке
Здравствуйте, watchmaker, Вы писали:
W>Скорее всего, ты что-то путаешь, и либо раньше использовал другие примитивы (например, явно сам запускал thread и выставлял promise),
Мб дело в том, что я не напрямую зову std::async, а через фреймворк, и мб в предыдущей версии фреймворка поток создавался как-то по-другому
W>либо твоя программа падала не из-за исключения, а, скажем, из-за связанного SIGSEGV
Она именно на явное
реагировала падением с полной выдачей трассы
W>и его можно потом перевыбросить при вызове get-метода
И потерять трассу
W>Скорее всего, ты что-то путаешь, и либо раньше использовал другие примитивы (например, явно сам запускал thread и выставлял promise),
Мб дело в том, что я не напрямую зову std::async, а через фреймворк, и мб в предыдущей версии фреймворка поток создавался как-то по-другому
W>либо твоя программа падала не из-за исключения, а, скажем, из-за связанного SIGSEGV
Она именно на явное
throw std::runtime_error("MyError")
реагировала падением с полной выдачей трассы
W>и его можно потом перевыбросить при вызове get-метода
И потерять трассу
Re[2]: Исключение в другом потоке
Здравствуйте, watchmaker, Вы писали:
W>Скорее всего, ты что-то путаешь, и либо раньше использовал другие примитивы (например, явно сам запускал thread и выставлял promise),
Мб дело в том, что я не напрямую зову std::async, а через фреймворк, и мб в предыдущей версии фреймворка поток создавался как-то по-другому
W>либо твоя программа падала не из-за исключения, а, скажем, из-за связанного SIGSEGV
Она именно на явное
реагировала падением с полной выдачей трассы
W>и его можно потом перевыбросить при вызове get-метода
И потерять трассу
W>которые в большинстве случаев включают запись пути через границы exception_ptr/future.
Мне пока не удалось. Потому что уже когда я делаю катч — я уже теряю трассу
W>Скорее всего, ты что-то путаешь, и либо раньше использовал другие примитивы (например, явно сам запускал thread и выставлял promise),
Мб дело в том, что я не напрямую зову std::async, а через фреймворк, и мб в предыдущей версии фреймворка поток создавался как-то по-другому
W>либо твоя программа падала не из-за исключения, а, скажем, из-за связанного SIGSEGV
Она именно на явное
throw std::runtime_error("MyError")
реагировала падением с полной выдачей трассы
W>и его можно потом перевыбросить при вызове get-метода
И потерять трассу
W>которые в большинстве случаев включают запись пути через границы exception_ptr/future.
Мне пока не удалось. Потому что уже когда я делаю катч — я уже теряю трассу