C++——异常
1.throw表达式
if (item1.isbn()!=item2.isbn()) throw runtime_error("data must refer to the same ISBN"); //执行到此,表示俩ISBN相同 cout<<item1+item2<<endl;
2.try语句块
while(cin>>item1>>item2){ try { if (item1.isbn()!=item2.isbn()) throw runtime_error("data must refer to the same ISBN"); //执行到此,表示俩ISBN相同 cout<<item1+item2<<endl; } catch (runtime_error err)
{ cout<<err.what() <<"\n Try again? Enter y or n"<<endl; char c; cin>>c; if (!cin || c=='n') break;//out of while } }
3.异常类
3.1 exception异常类:报告最常见的问题
3.2 new头文件——bad_alloc异常
3.3 type_info头文件——bad_cast异常
3.4 stdexcept头文件