问题遇到的现象和发生背景
测试过程中,打了弹窗发现Sqlite3_Open会在一些机器上出现异常报错导致程序崩溃的现象,但不是所有机器都有这个问题
问题相关代码,请勿粘贴截图
sqlite3 * pDB;
int result = sqlite3_open("crash.db", &pDB);
if (result == SQLITE_OK)
{
str.Format("insert into crashinfo(file_name,time_span,deal_result_to_server,deal_result_to_exampot,deal_result_to_quizpath,examineeid,testcc_id) values('%s','%s','%s','%s','%s','%s','%s')", fileName, timespan, server == "1" ? "0" : "1", exampot == "1" ? "0" : "1", quiz == "1" ? "0" : "1", examineeId, testccId);
sqlite3_stmt *stmt = NULL;
result = sqlite3_prepare(pDB, str, -1, &stmt, NULL);
if (result == SQLITE_OK)
{
result = sqlite3_step(stmt);
CString str1;
str1.Format("%d", result);
//MessageBox(NULL, str1, "提示", 0);
}
sqlite3_finalize(stmt);
sqlite3_close_v2(pDB);
pDB = nullptr;
}
运行结果及报错内容
直接出现windows弹窗,程序出现异常,点击确定后软件退出
我的解答思路和尝试过的方法
想过是可能是中文的问题,但是去掉中文后依旧崩溃
我想要达到的结果
不要崩溃,能catch住异常让软件正常运行即可