git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1164
726aef4b-f618-498e-8847-
2d620e286838
pModule->SetDescription(GetDesc());
push_back(pModule);
- if (!pModule->OnLoad(sArgs, sRetMsg)) {
+ bool bLoaded;
+ try {
+ bLoaded = pModule->OnLoad(sArgs, sRetMsg);
+ } catch (CModule::EModException e) {
+ bLoaded = false;
+ sRetMsg = "Caught an exception";
+ }
+
+ if (!bLoaded) {
UnloadModule(sModule, sModPath);
if (!sRetMsg.empty())
sRetMsg = "Module [" + sModule + "] aborted: " + sRetMsg;