I guess we’re violently agreeing? Exceptions are an order of magnitude (or several orders) slower than function calls and returns; but that can still be efficient overall, if only a tiny fraction of calls fail.
I’d simply add that most people greatly underestimate how expensive exceptions are, even in C++.