红莲教主 发表于 2016-5-12 16:32:41

异常捕获

#include <iostream>
#include <cassert>
#include <string>

using std::cout;
using std::endl;
using std::string;

enum{A,B,C};

void sayHello(string info) throw(const char* ); //const char* 不能写成const char* err
                                                //这里的const char* 可以用string代替
                                                //记得底下抛出异常时换为throw string("xxoo...");
int main()
{

    int num = 1 ;

    assert(num==A || num==B || num==C); //括号内成立,则当做什么都没发生一样

//    num = 5 ;
//    assert(num==A || num==B || num==C); //括号内不满足,则程序结束运行,并且输出报错信息

    try
    {
      sayHello("红莲教主");
      cout<<"我被执行了吗?"<<endl; //不会被执行
    }catch(const char* err)
    {
      cout<<err<<endl;
    }
    return 0;
}

void sayHello(string info) throw(const char*)
{
    cout<<info<<"正在尝试着执行某项危险的操作。。。"<<endl;
    throw "异常:完蛋了,我殉职了。。。~~~~(>_<)~~~~";
    cout<<"这是抛出异常函数下面的代码,观察是否会执行"<<endl; //不会被执行


}
页: [1]
查看完整版本: 异常捕获