[Orxonox-commit 5891] r10550 - code/branches/core7/src/libraries/core

landauf at orxonox.net landauf at orxonox.net
Thu Aug 27 22:41:54 CEST 2015


Author: landauf
Date: 2015-08-27 22:41:54 +0200 (Thu, 27 Aug 2015)
New Revision: 10550

Modified:
   code/branches/core7/src/libraries/core/Core.cc
Log:
use try-catch in inner function

Modified: code/branches/core7/src/libraries/core/Core.cc
===================================================================
--- code/branches/core7/src/libraries/core/Core.cc	2015-08-27 20:40:50 UTC (rev 10549)
+++ code/branches/core7/src/libraries/core/Core.cc	2015-08-27 20:41:54 UTC (rev 10550)
@@ -273,16 +273,9 @@
         const std::vector<std::string>& modulePaths = ApplicationPaths::getInstance().getModulePaths();
         for (std::vector<std::string>::const_iterator it = modulePaths.begin(); it != modulePaths.end(); ++it)
         {
-            try
-            {
-                ModuleInstance* module = new ModuleInstance(*it);
-                this->loadModule(module);
-                this->modules_.push_back(module);
-            }
-            catch (...)
-            {
-                orxout(user_error) << "Couldn't load module \"" << *it << "\": " << Exception::handleMessage() << endl;
-            }
+            ModuleInstance* module = new ModuleInstance(*it);
+            this->loadModule(module);
+            this->modules_.push_back(module);
         }
 
         orxout(internal_info) << "finished loading modules" << endl;
@@ -292,11 +285,18 @@
     {
         orxout(internal_info) << "Loading module " << module->getLibraryName() << "..." << endl;
 
-        ModuleInstance::setCurrentModuleInstance(module);
-        DynLib* dynLib = this->dynLibManager_->load(module->getLibraryName());
-        module->setDynLib(dynLib);
+        try
+        {
+            ModuleInstance::setCurrentModuleInstance(module);
+            DynLib* dynLib = this->dynLibManager_->load(module->getLibraryName());
+            module->setDynLib(dynLib);
 
-        StaticInitializationManager::getInstance().loadModule(module);
+            StaticInitializationManager::getInstance().loadModule(module);
+        }
+        catch (...)
+        {
+            orxout(user_error) << "Couldn't load module \"" << module->getLibraryName() << "\": " << Exception::handleMessage() << endl;
+        }
     }
 
     void Core::unloadModules()




More information about the Orxonox-commit mailing list