C++ 捕获_ttoi参数无法转换为数字的异常
时间: 2023-12-10 12:42:45 浏览: 162
在 C++ 中,可以使用 `std::stoi()` 函数将字符串转换为整数。如果字符串无法转换为整数,会抛出 `std::invalid_argument` 异常或 `std::out_of_range` 异常。可以使用 `try-catch` 块来捕获这些异常。
以下是一个示例代码:
```cpp
#include <iostream>
#include <stdexcept>
#include <string>
int main() {
std::string str = "abc";
try {
int num = std::stoi(str);
std::cout << "The number is: " << num << 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::invalid_argument` 异常,并且我们使用 `catch` 块捕获该异常并输出错误信息。
阅读全文