aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/database/database-sqlite3.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/database/database-sqlite3.cpp b/src/database/database-sqlite3.cpp
index 9521085e9..5e565be55 100644
--- a/src/database/database-sqlite3.cpp
+++ b/src/database/database-sqlite3.cpp
@@ -857,8 +857,12 @@ void ModMetadataDatabaseSQLite3::listMods(std::vector<std::string> *res)
char *errmsg;
int status = sqlite3_exec(m_database,
"SELECT `modname` FROM `entries` GROUP BY `modname`;",
- [](void *res_vp, int n_col, char **cols, char **col_names) -> int {
- ((decltype(res)) res_vp)->emplace_back(cols[0]);
+ [](void *res_vp, int n_col, char **cols, char **col_names) noexcept -> int {
+ try {
+ ((decltype(res)) res_vp)->emplace_back(cols[0]);
+ } catch (...) {
+ return 1;
+ }
return 0;
}, (void *) res, &errmsg);
if (status != SQLITE_OK) {