summaryrefslogtreecommitdiff
path: root/TAO/tao/Invocation_Base.cpp
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-02-06 16:34:57 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-02-06 16:34:57 +0000
commitad5013abb62230eda64c49b7ce38557e5f4b2de5 (patch)
tree51c09f93a23b19693872d94e4f1cf121f1ff9de8 /TAO/tao/Invocation_Base.cpp
parentf2bf24c048621aab26d8fa383c1db404dbf81e5c (diff)
downloadATCD-ad5013abb62230eda64c49b7ce38557e5f4b2de5.tar.gz
Tue Feb 6 16:33:14 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/Invocation_Base.cpp')
-rw-r--r--TAO/tao/Invocation_Base.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/TAO/tao/Invocation_Base.cpp b/TAO/tao/Invocation_Base.cpp
index eefdf4a6456..85b35de3d62 100644
--- a/TAO/tao/Invocation_Base.cpp
+++ b/TAO/tao/Invocation_Base.cpp
@@ -91,13 +91,17 @@ namespace TAO
{
try
{
+ // This is a begin interception point
this->adapter_->send_request (*this);
}
catch ( ::CORBA::Exception& ex)
{
(void) this->handle_any_exception (&ex);
-
- // This is a begin interception point
+ throw;
+ }
+ catch (...)
+ {
+ (void) this->handle_all_exception ();
throw;
}
@@ -122,7 +126,11 @@ namespace TAO
catch ( ::CORBA::Exception& ex)
{
(void) this->handle_any_exception (&ex);
-
+ throw;
+ }
+ catch (...)
+ {
+ (void) this->handle_all_exception ();
throw;
}
@@ -194,8 +202,7 @@ namespace TAO
PortableInterceptor::ReplyStatus
Invocation_Base::handle_all_exception (void)
{
- CORBA::UNKNOWN ex;
- this->exception (&ex);
+ this->exception (&unknown_exception);
PortableInterceptor::ReplyStatus status =
PortableInterceptor::SYSTEM_EXCEPTION;
@@ -204,8 +211,7 @@ namespace TAO
{
this->adapter_->receive_exception (*this);
- status =
- this->adapter_->reply_status (*this);
+ status = this->adapter_->reply_status (*this);
}
return status;