One of the interesting aspects of C++ is that if you don't use certain parts of the language, you can reduce overhead that would be associated with those parts. This is true of exceptions. Given that exception handling requires unknown amounts of computing resources, I have often seen a "no exceptions" rule (followed by code that clandestinely or unknowingly violates that rule).
Exceptions are hard to avoid. If you can't avoid them, consider using them.