public:
A(){}
void f( const int& p) throw (B, D);
void f( int& p) throw (...){};
};
注意:
1、对于VC6还没有支持throw (...)这种写法。VC7已经支持
2、对于throw
括号内的类型必须是类,虽然在函数中可以抛出enum的异常,但是这里不能写成enum的类型。
3、VC6,VC7编译器实际上是忽略这种写法的(即跟没有写一样),如果想忽略这个警告可以用:#pragma
warning( disable : 4290 )
输出: 1
将:void fun() throw(int) {throw 1;};
改为:void fun() throw(int) {throw 1f;}; //
编译不通过,可见int类型被强制了