noexcept-Frage



  • Hallo!

    Ich habe lediglich eine kurze Frage:
    Heißt das Schlüsselwort "noexcept" hinter einer Funktion, dass diese nur nach außen keine Funktion abgibt, oder dass auch darin keinerlei Exceptions fliegen dürfen?
    Dürfte ich also z.B. in einer noexcept-Funktion einfach alle Exceptions abfangen, sie nach außen hin aber als noexcept deklarieren?

    Danke für eure Hilfe!



  • noexcept heißt, dass keine Exceptions aus der Funktion fliegen sollten. Wenn doch, ist es von compiler zu compiler unterschiedlich, was GENAU passiert.

    Heißt, ja. Du kannst mit einem catch(...) alles abfangen. Nur wie sinnig das ist, muss man von Fall zu Fall entscheiden (im Destructor sollte man sowas, sofern eine non-noexcept Funktion aufgerufen wird, praktisch immer so machen).


Anmelden zum Antworten