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头文件 

 

posted @ 2019-08-25 22:01  寒江小筑  阅读(221)  评论(0编辑  收藏  举报