I really can't understand why try-catch block do not handle exception. digit 1 is printing, so exception is accrue after it, but why nothing in catch block?

http://img.ctrlv.in/img/16/06/05/57546861d8e81.png

Here is my code:

void dbSetup()
{
    try
    {
//getcwd do not return correct path if run from task shoulder string dbpath = buildPath((thisExePath[0..((thisExePath.lastIndexOf("\\"))+1)]), dbname);
        if(!dbpath.exists)
        {
writeln("It's seems you are runnining Application first time\n You should set up admin password");
            auto db = DataBase(dbname);
            writeln("1");
auto usersCollection = db.collection!User("Users", true); // base on struct User usersCollection.put(User(0, "admin", "123", "admins")); // defaults
            writeln("2");
            writeln("[INFO] db with default credentials created");
        }

        else
        {
            writeln("[INFO] db exists");
            return;
        }
    }

    catch(Exception e)
    {
        writeln("Can't setup DB");
        writeln(e.msg);
    }

}

I am using https://gitlab.com/PiotrekDlang/DraftLib/

Reply via email to