Constructors and destructors can have function level try-catch blocks.
Yes the syntax could have been much better.
As proven by ongoing work done by Khalil Estell, in some embedded scenarios exceptions aren't that great only due to quality of implementation, someone added the support and call it done, no effort at all to improve it.
Even Ada's Ravenscar profile does allow for exceptions in high integrity computing scenarios, in embedded systems.
Well I for one, if that would mean less "C programming with C++ compiler" that still plagues the security history to this day, great they can keep using C for that.