summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CIAO/ChangeLog6
-rw-r--r--CIAO/ciao/Containers/Session/Session_Container.cpp38
2 files changed, 38 insertions, 6 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index b4cd26cfd2b..df644652156 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,9 @@
+Wed Apr 13 19:13:43 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/Containers/Session/Session_Container.cpp:
+
+ Additional error reporting.
+
Wed Apr 13 19:12:44 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
* tests/DAnCE/Launch-Failures/Component/Launch_Failure_exec.cpp:
diff --git a/CIAO/ciao/Containers/Session/Session_Container.cpp b/CIAO/ciao/Containers/Session/Session_Container.cpp
index e1de3175fff..5756a434806 100644
--- a/CIAO/ciao/Containers/Session/Session_Container.cpp
+++ b/CIAO/ciao/Containers/Session/Session_Container.cpp
@@ -241,8 +241,20 @@ namespace CIAO
"Session_Container_i::install_component - "
"Loading component executor\n"));
- Components::EnterpriseComponent_var component_executor =
- ccreator ();
+ Components::EnterpriseComponent_var component_executor;
+ try
+ {
+ component_executor = ccreator ();
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1,
+ (LM_ERROR, CLINFO
+ "Session_Container_i::install_component - "
+ "Caught unexpected exception from component factory."));
+ throw CIAO::Installation_Failure (name,
+ "Component executor factory threw exception");
+ }
if (CORBA::is_nil (component_executor.in ()))
{
@@ -262,10 +274,24 @@ namespace CIAO
"Session_Container_i::install_component - "
"Loading component servant\n"));
- PortableServer::Servant component_servant =
- screator (component_executor.in (),
- this,
- name);
+ PortableServer::Servant component_servant;
+
+ try
+ {
+ component_servant = screator (component_executor.in (),
+ this,
+ name);
+ }
+ catch (...)
+ {
+ CIAO_ERROR (1,
+ (LM_ERROR, CLINFO
+ "Session_Container_i::install_component - "
+ "Caught unexpected exception from component servant factory."));
+ throw CIAO::Installation_Failure (name,
+ "Component servant factory threw exception");
+ }
+
if (component_servant == 0)
{