清瘦

清瘦求助
# include <iostream>
# include <exception>
using namespace std;
int main()
{
cin.exceptions(ios_base::failbit);
cout<<"输入数字";
int sum = 0;
int input;
try
{
while(cin>>input)
{
sum += input;

}
}catch (ios_base::failure & bg)
{
cout<<bg.what()<<endl;//这里书上输出的是ios_base::failure in clear
//我输出的是ios_base::failbit set,有区别吗


cout<<"O 是错误的\n";
}
cout<<"input:"<<input<<endl;
cout<<"sum:"<<sum<<endl;

}

------解决方案--------------------
这和编译器不同有关吧 我linux下就是输出ios_base::failure in clear