- C++11 不再建议使用异常规范
// 异常规范 只能抛出 int float char 三种类型的异常 C++11以后不再建议使用
void func1() throw(int, float, char){
throw "string"; // terminate called after throwing an instance of 'char const*'
}
// 不能抛出任何类型的异常 OK
void func2() throw(){
throw -1; // terminate called after throwing an instance of 'int'
}
// 可以抛出任何类型的异常
void func3(){
throw "error";
}
int main()
{
try{
func1();
}
catch(char const * e){
cout << e << endl;
}
catch(...){ // 捕获所有异常
cout << "捕获未知异常" << endl;
}
return 0;
}