#include #include #include class Resource { public: void use(const char* N) { std::cout << "Using resource. Passed " << *N << '\n'; if (*N == 'd') { throw std::logic_error("Passed d. d is prohibited."); } }; }; int main(int argc, char* argv[]) { if (argc != 2) { std::cerr << "You need to pass 1 argument" << '\n'; exit(-1); } const char* arg = argv[1]; Resource* rsc = nullptr; try { rsc = new Resource(); rsc->use(arg); delete rsc; } catch (std::logic_error& e) { std::cout << e.what() << '\n'; } return 0; }