C++中的stoi函數用于將字符串轉換為整數。當轉換過程中出現異常時,stoi函數會拋出invalid_argument異常。這種異常表示輸入字符串無效,無法進行轉換。
例如,如果我們嘗試將一個非數字的字符串轉換為整數,stoi函數會拋出invalid_argument異常。以下是一個示例代碼:
#include <iostream>
#include <string>
int main() {
try {
std::string s = "hello";
int num = std::stoi(s);
std::cout << "Converted number: " << num << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Invalid argument: " << e.what() << std::endl;
}
return 0;
}
在上面的示例中,我們嘗試將字符串"hello"轉換為整數。由于該字符串不是一個有效的整數表示,stoi函數會拋出invalid_argument異常,并在catch塊中捕獲異常并輸出錯誤消息。