I agree with you, however Bjarne wanted to sneak C++ into C code, given his experience being forced to use C (there are a few interviews where he mentions this).
So by having exceptions, with code that only knows about C semantics but was compiled with C++ mode, you open the door to all sorts of nasty surprises.
So exceptions can cause resource leaks and other issues like being thrown in the middle of a UNIX signal.
Which leads to the situation that sadly many library writers avoid them.
I still enjoy using C++, but the best place for it is as infrastructure language for the bottom layer when performance requires it, then using something else on the other layers.
So by having exceptions, with code that only knows about C semantics but was compiled with C++ mode, you open the door to all sorts of nasty surprises.
So exceptions can cause resource leaks and other issues like being thrown in the middle of a UNIX signal.
Which leads to the situation that sadly many library writers avoid them.
I still enjoy using C++, but the best place for it is as infrastructure language for the bottom layer when performance requires it, then using something else on the other layers.