#include <iostream>
#include <string>
using namespace std;
class SomeClass
{
public:
void make_exception(const string &msg)
{
err = "Error: ";
err += msg;
throw err.c_str();
};
private:
string err;
};
int main(int argc, char *argv[])
{
SomeClass obj;
try {
obj.make_exception("Test");
} catch (const char *e) {
cout << "Exception thrown with message: \"" << e << '"';
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIFNvbWVDbGFzcwp7CnB1YmxpYzoKCXZvaWQgbWFrZV9leGNlcHRpb24oY29uc3Qgc3RyaW5nICZtc2cpCgl7CgkgICAgZXJyID0gIkVycm9yOiAiOwoJICAgIGVyciArPSBtc2c7CgkgICAgdGhyb3cgZXJyLmNfc3RyKCk7Cgl9OwkKcHJpdmF0ZToKCXN0cmluZyBlcnI7Cn07CgoKCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKCVNvbWVDbGFzcyBvYmo7CgkKCXRyeSB7CgkJb2JqLm1ha2VfZXhjZXB0aW9uKCJUZXN0Iik7Cgl9IGNhdGNoIChjb25zdCBjaGFyICplKSB7CgkJY291dCA8PCAiRXhjZXB0aW9uIHRocm93biB3aXRoIG1lc3NhZ2U6IFwiIiA8PCBlIDw8ICciJzsKCX0KfQ==