#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
void function(int n)
{
try {
if (n == 0)
throw n;
if (n == 1)
throw 'z';
if (n == 2)
throw 3.14;
if (n == 3)
throw "c++";
}
catch (int __n) {
cout << "catch n = " << __n << endl;
}
catch (double d) {
cout << "catch d = " << d << endl;
}
catch (char *p) {
cout << "catch p = " << p << endl;
}
catch (...) {
cout << "catch (...)" << endl;
}
}
int main()
{
function(0);
function(1);
function(2);
function(3);
return 0;
}
/*
run:
catch n = 0
catch (...)
catch d = 3.14
catch p = c++
*/