unify stod/stoi invalid_argument::what parse

This is a hack to check whether given invalid_argument message belongs
to stoi/stod. It is usually used to catch non-numeric user input where
a number was expected.
This commit is contained in:
Martin Pulec
2024-09-13 12:38:23 +02:00
parent ab25c2d1fc
commit ef0cd7130d
5 changed files with 18 additions and 6 deletions

View File

@@ -329,3 +329,16 @@ bool is_arm_mac() {
return false;
#endif
}
/**
* @param what value returned by std::logic_error::what()
* @returns if given std::invalid_argument message belongs to a stoi/stof
* converison
*/
bool invalid_arg_is_numeric(const char *what) {
if (what == nullptr) {
return false;
}
return strcmp(what, "stoi") == 0 || strcmp(what, "stod") == 0;
}