وقتی از سه نقطه به جای نوع متغییر استفاده کنید همه چیز catch میشه. یه جورایی مثل لیبل default توی switch میمونه.
مثال:
using namespace std;
int f(const int& i)
{
if(i==20)
{
throw 10;
}
if(i==30)
{
throw string("20");
}
return 30;
}
void g()
{
int j=60;
try
{
j=f(30);
}
catch(const int& _i)
{
cout<<_i<<" catched!\n";
}
catch(...) //other (ie float,string,etc...)
{
cout<<"OTHER catched!\n";
}
cout<<"j is "<<j<<endl;
}
یه سرچ میزدی اینجا رو پیدا می کردی: http://stackoverflow.com/questions/315948/c-catching-all-exceptions