[Erledigt] Frage zu Exceptions und Multithreading



  • Hi,
    angenommen ich schicke eine Task in einen Thread-Pool und bekomme ein Future zurück. Nun tritt bald darauf eine Exception in dieser Task/Thread auf, aber mein Haupt-Thread arbeitet munter weiter. Wann erfahre ich von dieser Exception? Wenn ich mit future.get() darauf zugreife?

    Danke im Voraus!



  • Wenn du in einem future eine exception wirfst, dann wirft future::get() die exception. Die wird solange gespeichert.

    Wenn du in einem rohen std::thread wirfst, wird std::terminate aufgerufen. (und sie nicht im Thread fängst natürlich)



  • @5cript Super, danke für die Antwort! 🙂


Log in to reply