#include <iostream>
    #include <memory>
 
    class LoggingLibrary
    {
    	public:
    		LoggingLibrary(int trigger=0) // for demonstration purposes
            { 
               if ( trigger > 0)
                   throw "Error"; 
            }
    };
 
    using namespace std;
 
    int main() 
    {
    	unique_ptr<LoggingLibrary> logLib;
    	try 
    	{
    		logLib = make_unique<LoggingLibrary>(1);
    	}
    	catch(const char *msg)
    	{
    		cout << "Didn't initialize";
    	}
   	    if ( logLib )
    	{
            cout << "Hey I'm ok"; // no exception thrown
     	}
    }
 
 
				ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxtZW1vcnk+CiAgICAKICAgIGNsYXNzIExvZ2dpbmdMaWJyYXJ5CiAgICB7CiAgICAJcHVibGljOgogICAgCQlMb2dnaW5nTGlicmFyeShpbnQgdHJpZ2dlcj0wKSAvLyBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlcwogICAgICAgICAgICB7IAogICAgICAgICAgICAgICBpZiAoIHRyaWdnZXIgPiAwKQogICAgICAgICAgICAgICAgICAgdGhyb3cgIkVycm9yIjsgCiAgICAgICAgICAgIH0KICAgIH07CiAgICAKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAKICAgIGludCBtYWluKCkgCiAgICB7CiAgICAJdW5pcXVlX3B0cjxMb2dnaW5nTGlicmFyeT4gbG9nTGliOwogICAgCXRyeSAKICAgIAl7CiAgICAJCWxvZ0xpYiA9IG1ha2VfdW5pcXVlPExvZ2dpbmdMaWJyYXJ5PigxKTsKICAgIAl9CiAgICAJY2F0Y2goY29uc3QgY2hhciAqbXNnKQogICAgCXsKICAgIAkJY291dCA8PCAiRGlkbid0IGluaXRpYWxpemUiOwogICAgCX0KICAgCSAgICBpZiAoIGxvZ0xpYiApCiAgICAJewogICAgICAgICAgICBjb3V0IDw8ICJIZXkgSSdtIG9rIjsgLy8gbm8gZXhjZXB0aW9uIHRocm93bgogICAgIAl9CiAgICB9Cgo=