Ermitteln von Ausnahmeobjekten anhand von Verweisen, Provisorien und Lebensdauerthemen

Betrachten Sie den folgenden Code:

#include <iostream>
#include <stdexcept>

void foo()
{
    throw std::runtime_error("How long do I live?");
}

int main()
{
    try
    {
        foo();
    }
    catch (std::runtime_error& e)
    {
        std::cout << e.what() << std::endl;
    }
}

Warum kann ich die Ausnahme anhand eines Verweises abfangen?std::runtime_error("How long do I live?") ein Wert?

Wie kommt es, dass das Ausnahmeobjekt im catch-Block noch vorhanden ist?

Wo genau werden ausgelöste Ausnahmeobjekte gespeichert? Was ist ihr Leben?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage