summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2011-04-13 19:14:03 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2011-04-13 19:14:03 +0000
commit69281b21ce42363ac6253866951a18d0046271b4 (patch)
tree57f856b666e11ed8f1d65b611b67126d78042764
parent24bbf866c0521aaf405a7d8509cd75a8c8276202 (diff)
downloadATCD-69281b21ce42363ac6253866951a18d0046271b4.tar.gz
Wed Apr 13 19:13:43 UTC 2011 William R. Otte <wotte@dre.vanderbilt.edu>
* ciao/Containers/Session/Session_Container.cpp: Additional error reporting.
-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)
{