我的代码只是为了测试。当类型转换不可能时,我尝试检查 stringstream 是否会抛出异常。
以下是我的代码。您可以在您的环境中检查它。
#include <string>
#include <iostream>
#include <sstream>
using namespace std;
int main() {
stringstream stream("432.23");
char c = 0;
try {
if(!stream>>c) {
cout<<"Error happend"<<endl;
return 0;
}
}
catch(...) {
cout<<"Exception happend"<<endl;
}
cout<<"c="<<c<<endl;
return 0;
}
输出是 c=^@
它不应该找到错误吗?