std::stod
是 C++ 标准库中的一个函数,用于将字符串转换为 double
类型的浮点数。如果传递给 std::stod
的字符串不能转换为有效的浮点数,该函数会抛出一个 std::invalid_argument
异常。
例如:
#include <iostream>
#include <string>
#include <stdexcept>
int main() {
try {
std::string str = "abc";
double d = std::stod(str);
std::cout << "Converted string to double: "<< d << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Invalid argument: " << e.what() << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Out of range: " << e.what() << std::endl;
}
return 0;
}
在这个例子中,字符串 “abc” 不能转换为有效的浮点数,因此 std::stod
抛出一个 std::invalid_argument
异常。程序会捕获这个异常并输出错误信息。