// exceptions
#include <iostream>
using namespace std;
class C {
public:
string srch(int &i) {
if (i == 0) { //found
cout << "got it: " << i << endl; return "i";
}
throw std::exception();
}
};
int main () {
C c = C();
int i = 2;
int j = 0;
try
{
c.srch(j);
c.srch(i);
}
catch (const std::exception &e) {
cout << "An exception occurred. Exception Nr. " << e.what() << '\n';
}
return 0;
}
ICAvLyBleGNlcHRpb25zCiAgICAjaW5jbHVkZSA8aW9zdHJlYW0+CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgY2xhc3MgQyB7CiAgICAgICBwdWJsaWM6CiAgICAgICAgc3RyaW5nIHNyY2goaW50ICZpKSB7CiAgIAkJCWlmIChpID09IDApIHsJLy9mb3VuZAogICAgICAgICAgICAgICAgY291dCA8PCAiZ290IGl0OiAiIDw8IGkgPDwgZW5kbDsgcmV0dXJuICJpIjsKICAgICAgICAgICAgfQogICAgICAgICAgIHRocm93IHN0ZDo6ZXhjZXB0aW9uKCk7CgogICAgICAgIH0KCiAgICAgfTsKCiAgICAgaW50IG1haW4gKCkgewogICAgICAgQyBjID0gQygpOwogICAgICAgaW50IGkgPSAyOwogICAgICAgaW50IGogPSAwOwogICAgICAgdHJ5CiAgICAgICB7CiAgICAgICAgIGMuc3JjaChqKTsKICAgICAgICAgYy5zcmNoKGkpOwogICAgICAgfQogICAgICAgY2F0Y2ggKGNvbnN0IHN0ZDo6ZXhjZXB0aW9uICZlKSB7CiAgICAgICAgIGNvdXQgPDwgIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZC4gRXhjZXB0aW9uIE5yLiAiIDw8IGUud2hhdCgpIDw8ICdcbic7CiAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICAgfQoKCiA=