News for hackers. Stuff that matters.
Re:Investigating the Performance Overhead of C++ Exceptions by AnimalMuppet on Tuesday February 11, 2020 @06:51PM (#22304270)
Ah, yes, I wasn't thinking about throws during destructors. IIRC, that's considered bad form but not forbidden, and so a compiler would have to handle that. (Feel free to correct if I have that wrong.)

As to your first paragraph: That's just calling the base class's destructor if the derived class's constructor throws. That's easy - that's what the base class's destructor is for. It's essentially one function call. The harder part (or so it seems to me) is correctly destroying the only-partially-constructed derived class.

Re:Investigating the Performance Overhead of C++ Exceptions by daemin on Wednesday February 12, 2020 @06:16AM (#22307875)
Throwing during destructors will generally result in a std::terminate, since you have good odds of throwing during destruction of an object that is being cleaned up as a result of an existing in progress exception.

So it is not forbidden but odds are you'll have your program terminate.

Re:Investigating the Performance Overhead of C++ Exceptions by ncmncm on Tuesday February 11, 2020 @07:31PM (#22304535)
The compiler has to handle it, but the Standard Library definitively doesn't.