> Well then the C++ standard people are doing it wrong, because something as expected-to-fail as converting a string to a number throws an exception.
I wouldn't say that they are doing it wrong. They throw an exception because they don't want to make assumptions about how you would want to handle the error.
What would you prefer the std::stoi() function to do?