ODB データベースを新規作成しようとしましたが、db が成功xxx.db
しても存在しない場合があります。new
以下のコードでは、例外をキャッチできませんが、入ることはできますif(!_file)
string dbFile = getPalBundle()->getFileStorageProvider()->getDocumentsPath(userId + "/xxx.db");
auto db = std::shared_ptr<odb::sqlite::database>(new odb::sqlite::database(dbFile, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_FULLMUTEX, false));
if(db == nullptr)
{
ret = false;
}
// check database avalible
try {
db->schema_version();
} catch (...) {
DLOG(kTagDaoFactory, "Datase file damaged, logout");
ret = false;
}
fstream _file;
_file.open(dbFile, ios::in);
if (!_file) {
ret = false;
DLOG(kTagDaoFactory, "Data base file no exist, logout");
}
何が起こるかわかりません、誰か助けてくれませんか?前もって感謝します!