异常捕获
#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]