diff --git a/Client.cpp b/Client.cpp index 88aa22e1..93e46d86 100644 --- a/Client.cpp +++ b/Client.cpp @@ -1313,14 +1313,14 @@ void CClient::UserCommand(const CString& sLine) { } CString sModRet; + bool b; - try { - if (bGlobal) { - CZNC::Get().GetModules().LoadModule(sMod, sArgs, NULL, sModRet); - } else { - m_pUser->GetModules().LoadModule(sMod, sArgs, m_pUser, sModRet); - } - } catch (CException e) { + if (bGlobal) { + b = CZNC::Get().GetModules().LoadModule(sMod, sArgs, NULL, sModRet); + } else { + b = m_pUser->GetModules().LoadModule(sMod, sArgs, m_pUser, sModRet); + } + if (!b) { PutStatus("Unable to load module [" + sMod + "] [" + sModRet + "]"); return; } diff --git a/Modules.cpp b/Modules.cpp index 680c3cfc..764f1f83 100644 --- a/Modules.cpp +++ b/Modules.cpp @@ -734,7 +734,6 @@ bool CModules::LoadModule(const CString& sModule, const CString& sArgs, CUser* p if (CModule::GetCoreVersion() != Version()) { dlclose(p); sRetMsg = "Version mismatch, recompile this module."; - throw CException(CException::EX_BadModVersion); return false; } @@ -886,11 +885,7 @@ bool CModules::ReloadModule(const CString& sModule, const CString& sArgs, CUser* return false; } - try { - if (!LoadModule(sMod, sArgs, pUser, sRetMsg)) { - return false; - } - } catch(...) { + if (!LoadModule(sMod, sArgs, pUser, sRetMsg)) { return false; } diff --git a/User.cpp b/User.cpp index 93bd282d..ef8dadc7 100644 --- a/User.cpp +++ b/User.cpp @@ -330,13 +330,9 @@ bool CUser::Clone(const CUser& User, CString& sErrorRet, bool bCloneChans) { CModule* pCurMod = vCurMods.FindModule(pNewMod->GetModName()); if (!pCurMod) { - try { - vCurMods.LoadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); - } catch (...) {} + vCurMods.LoadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); } else if (pNewMod->GetArgs() != pCurMod->GetArgs()) { - try { - vCurMods.ReloadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); - } catch (...) {} + vCurMods.ReloadModule(pNewMod->GetModName(), pNewMod->GetArgs(), this, sModRet); } } diff --git a/Utils.h b/Utils.h index f1b456f8..78daacff 100644 --- a/Utils.h +++ b/Utils.h @@ -182,8 +182,7 @@ private: class CException { public: typedef enum { - EX_Shutdown, - EX_BadModVersion + EX_Shutdown } EType; CException(EType e) { diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp index a5ea5ab6..40ad5b63 100644 --- a/modules/webadmin.cpp +++ b/modules/webadmin.cpp @@ -619,16 +619,12 @@ bool CWebAdminSock::SettingsPage(CString& sPageRet) { if (!sModName.empty()) { CString sArgs = GetParam("modargs_" + sModName); - try { - if (!CZNC::Get().GetModules().FindModule(sModName)) { - if (!CZNC::Get().GetModules().LoadModule(sModName, sArgs, NULL, sModRet)) { - DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] [" << sModRet << "]" << endl); - } - } else { - DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] because it is already loaded" << endl); + if (!CZNC::Get().GetModules().FindModule(sModName)) { + if (!CZNC::Get().GetModules().LoadModule(sModName, sArgs, NULL, sModRet)) { + DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] [" << sModRet << "]" << endl); } - } catch(...) { - DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] [" << sArgs << "]" << endl); + } else { + DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] because it is already loaded" << endl); } } } diff --git a/znc.cpp b/znc.cpp index 43641b34..6701064d 100644 --- a/znc.cpp +++ b/znc.cpp @@ -1295,22 +1295,16 @@ bool CZNC::DoRehash(CString& sError) CString sModRet; CString sArgs = sValue.Token(1, true); - try { - bool bModRet = pUser->GetModules().LoadModule(sModName, sArgs, pUser, sModRet); + bool bModRet = pUser->GetModules().LoadModule(sModName, sArgs, pUser, sModRet); - // If the module was loaded, sModRet contains - // "Loaded Module [name] ..." and we strip away this beginning. - if (bModRet) - sModRet = sModRet.Token(1, true, sModName + "] "); + // If the module was loaded, sModRet contains + // "Loaded Module [name] ..." and we strip away this beginning. + if (bModRet) + sModRet = sModRet.Token(1, true, sModName + "] "); - CUtils::PrintStatus(bModRet, sModRet); - if (!bModRet) { - sError = sModRet; - return false; - } - } catch (CException e) { - sError = "Caught exception while loading [" + sModName + "]"; - CUtils::PrintStatus(false, sModRet); + CUtils::PrintStatus(bModRet, sModRet); + if (!bModRet) { + sError = sModRet; return false; } #else @@ -1486,43 +1480,31 @@ bool CZNC::DoRehash(CString& sError) if (!pOldMod) { CUtils::PrintAction("Loading Global Module [" + sModName + "]"); - try { - bool bModRet = GetModules().LoadModule(sModName, sArgs, NULL, sModRet); + bool bModRet = GetModules().LoadModule(sModName, sArgs, NULL, sModRet); - // If the module was loaded, sModRet contains - // "Loaded Module [name] ..." and we strip away this beginning. - if (bModRet) - sModRet = sModRet.Token(1, true, sModName + "] "); + // If the module was loaded, sModRet contains + // "Loaded Module [name] ..." and we strip away this beginning. + if (bModRet) + sModRet = sModRet.Token(1, true, sModName + "] "); - CUtils::PrintStatus(bModRet, sModRet); - if (!bModRet) { - sError = sModRet; - return false; - } - } catch (CException e) { - sError = "Caught an exception while loading [" + sModName + "]"; - CUtils::PrintStatus(false, sModRet); + CUtils::PrintStatus(bModRet, sModRet); + if (!bModRet) { + sError = sModRet; return false; } } else if (pOldMod->GetArgs() != sArgs) { CUtils::PrintAction("Reloading Global Module [" + sModName + "]"); - try { - bool bModRet = GetModules().ReloadModule(sModName, sArgs, NULL, sModRet); + bool bModRet = GetModules().ReloadModule(sModName, sArgs, NULL, sModRet); - // If the module was loaded, sModRet contains - // "Loaded Module [name] ..." and we strip away this beginning. - if (bModRet) - sModRet = sModRet.Token(1, true, sModName + "] "); + // If the module was loaded, sModRet contains + // "Loaded Module [name] ..." and we strip away this beginning. + if (bModRet) + sModRet = sModRet.Token(1, true, sModName + "] "); - CUtils::PrintStatus(bModRet, sModRet); - if (!bModRet) { - sError = sModRet; - return false; - } - } catch (CException e) { - sError = "Caught an exception while reloading [" + sModName + "]"; - CUtils::PrintStatus(false, sModRet); + CUtils::PrintStatus(bModRet, sModRet); + if (!bModRet) { + sError = sModRet; return false; } } else