diff options
Diffstat (limited to 'src/ejabberd_sql.erl')
-rw-r--r-- | src/ejabberd_sql.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl index 28103430a..970dece3f 100644 --- a/src/ejabberd_sql.erl +++ b/src/ejabberd_sql.erl @@ -580,8 +580,13 @@ sql_query_internal(#sql_query{} = Query) -> sqlite -> sqlite_sql_query(Query) end - catch - Class:Reason -> + catch exit:{timeout, _} -> + {error, <<"timed out">>}; + exit:{killed, _} -> + {error, <<"killed">>}; + exit:{normal, _} -> + {error, <<"terminated unexpectedly">>}; + Class:Reason -> ST = erlang:get_stacktrace(), ?ERROR_MSG("Internal error while processing SQL query: ~p", [{Class, Reason, ST}]), |