diff --git a/modules/eventx/thread_pool.cpp b/modules/eventx/thread_pool.cpp index 1bf59fe344ab70c2a20735f1eea6a7a3f47d26ac..2e3747feaba93dc628c9afdc7029027daba23267 100644 --- a/modules/eventx/thread_pool.cpp +++ b/modules/eventx/thread_pool.cpp @@ -291,8 +291,15 @@ void ThreadPool::threadProc(ThreadToken thread_token) auto exec_time_point = Clock::now(); auto wait_time_cost = exec_time_point - item->create_time_point; - if (item->backend_task) - item->backend_task(); + if (item->backend_task) { + try { + item->backend_task(); + } catch (const std::exception &e) { + LogErr("catch execption: %s", e.what()); + } catch (...) { + LogErr("catch unknown execption"); + } + } auto exec_time_cost = Clock::now() - exec_time_point;