diff options
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/app/salusereventlist.cxx | 22 | ||||
-rw-r--r-- | vcl/source/app/scheduler.cxx | 25 |
2 files changed, 41 insertions, 6 deletions
diff --git a/vcl/source/app/salusereventlist.cxx b/vcl/source/app/salusereventlist.cxx index a3b77ecc2c19..50ef1f892002 100644 --- a/vcl/source/app/salusereventlist.cxx +++ b/vcl/source/app/salusereventlist.cxx @@ -21,7 +21,14 @@ #include <salwtype.hxx> #include <algorithm> - +#include <cstdlib> +#include <exception> +#include <typeinfo> + +#include <com/sun/star/uno/Exception.hpp> +#include <cppuhelper/exc_hlp.hxx> +#include <sal/log.hxx> +#include <sal/types.h> #include <svdata.hxx> SalUserEventList::SalUserEventList() @@ -90,9 +97,20 @@ bool SalUserEventList::DispatchUserEvents( bool bHandleAllCurrentEvents ) { ProcessEvent( aEvent ); } + catch (css::uno::Exception& e) + { + auto const e2 = cppu::getCaughtException(); + SAL_WARN("vcl", "Uncaught " << e2.getValueTypeName() << " " << e.Message); + std::abort(); + } + catch (std::exception& e) + { + SAL_WARN("vcl", "Uncaught " << typeid(e).name() << " " << e.what()); + std::abort(); + } catch (...) { - SAL_WARN( "vcl", "Uncaught exception during ProcessEvent!" ); + SAL_WARN("vcl", "Uncaught exception during DispatchUserEvents!"); std::abort(); } } diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx index 2ef3c87d83f8..b53a58ecf555 100644 --- a/vcl/source/app/scheduler.cxx +++ b/vcl/source/app/scheduler.cxx @@ -20,7 +20,14 @@ #include <sal/config.h> #include <cassert> - +#include <cstdlib> +#include <exception> +#include <typeinfo> + +#include <com/sun/star/uno/Exception.hpp> +#include <cppuhelper/exc_hlp.hxx> +#include <sal/log.hxx> +#include <sal/types.h> #include <svdata.hxx> #include <tools/time.hxx> #include <unotools/configmgr.hxx> @@ -439,11 +446,21 @@ next_entry: { pTask->Invoke(); } + catch (css::uno::Exception& e) + { + auto const e2 = cppu::getCaughtException(); + SAL_WARN("vcl.schedule", "Uncaught " << e2.getValueTypeName() << " " << e.Message); + std::abort(); + } + catch (std::exception& e) + { + SAL_WARN("vcl.schedule", "Uncaught " << typeid(e).name() << " " << e.what()); + std::abort(); + } catch (...) { - SAL_WARN( "vcl.schedule", - "Uncaught exception during Task::Invoke()!" ); - abort(); + SAL_WARN("vcl.schedule", "Uncaught exception during Task::Invoke()!"); + std::abort(); } Lock( nLockCount ); pMostUrgent->mbInScheduler = false; |