summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>1999-05-25 21:56:57 +0000
committerbala <balanatarajan@users.noreply.github.com>1999-05-25 21:56:57 +0000
commit0e44f151eb2b0ed30e8ac2f55378fc765dd95ce0 (patch)
tree5be1a9874f4828c2d4692539e14bba17cb2434f8
parentb3a4acf3507300443767e0973be1cd5dde3d8558 (diff)
downloadATCD-0e44f151eb2b0ed30e8ac2f55378fc765dd95ce0.tar.gz
Made some changes to exception handling
-rw-r--r--TAO/examples/Callback_Quoter/Consumer_Handler.cpp13
-rw-r--r--TAO/examples/Callback_Quoter/Consumer_Input_Handler.cpp182
-rw-r--r--TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp15
-rw-r--r--TAO/examples/Callback_Quoter/Notifier_Input_Handler.cpp82
-rw-r--r--TAO/examples/Callback_Quoter/Notifier_i.cpp16
-rw-r--r--TAO/examples/Callback_Quoter/Supplier_i.cpp17
-rw-r--r--TAO/examples/Callback_Quoter/notifier.cpp4
7 files changed, 162 insertions, 167 deletions
diff --git a/TAO/examples/Callback_Quoter/Consumer_Handler.cpp b/TAO/examples/Callback_Quoter/Consumer_Handler.cpp
index af87b5dff13..024d93ec5a4 100644
--- a/TAO/examples/Callback_Quoter/Consumer_Handler.cpp
+++ b/TAO/examples/Callback_Quoter/Consumer_Handler.cpp
@@ -140,7 +140,8 @@ Consumer_Handler::parse_args (void)
int
Consumer_Handler::via_naming_service (void)
{
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
{
// Initialization of the naming service.
if (naming_services_client_.init (orb_.in ()) != 0)
@@ -173,6 +174,7 @@ Consumer_Handler::via_naming_service (void)
return -1;
}
ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
return 0;
}
@@ -213,7 +215,8 @@ Consumer_Handler::init (int argc, char **argv)
"register_handler for SIGINT"),
-1);
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
{
// Retrieve the ORB.
this->orb_ = CORBA::ORB_init (this->argc_,
@@ -270,7 +273,8 @@ Consumer_Handler::run (void)
{
//CORBA::Environment TAO_TRY_ENV;
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
{
ACE_NEW_RETURN (this->consumer_servant_,
Consumer_i (),
@@ -294,10 +298,11 @@ Consumer_Handler::run (void)
}
ACE_CATCHANY
{
- ACE_TRY_ENV.print_exception ("Consumer_Handler::run ()");
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Consumer_Handler::run ()");
return -1;
}
ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
return 0;
}
diff --git a/TAO/examples/Callback_Quoter/Consumer_Input_Handler.cpp b/TAO/examples/Callback_Quoter/Consumer_Input_Handler.cpp
index 723a255ed39..e123955c181 100644
--- a/TAO/examples/Callback_Quoter/Consumer_Input_Handler.cpp
+++ b/TAO/examples/Callback_Quoter/Consumer_Input_Handler.cpp
@@ -33,47 +33,34 @@ Consumer_Input_Handler::handle_input (ACE_HANDLE)
// CORBA::Environment TAO_IN_ENV;
- ACE_TRY_NEW_ENV
+ // The string could read contains \n\0 hence using ACE_OS::read
+ // which returns the no of bytes read and hence i can manipulate
+ // and remove the devil from the picture i.e '\n' ! ;)
+
+ ssize_t strlen = ACE_OS::read (ACE_STDIN,
+ buf,
+ sizeof buf);
+ if (buf[strlen -1] == '\n')
+ buf[strlen -1] = '\0';
+
+ switch (tolower (buf[0]))
{
- // The string could read contains \n\0 hence using ACE_OS::read
- // which returns the no of bytes read and hence i can manipulate
- // and remove the devil from the picture i.e '\n' ! ;)
-
- ssize_t strlen = ACE_OS::read (ACE_STDIN,
- buf,
- sizeof buf);
- if (buf[strlen -1] == '\n')
- buf[strlen -1] = '\0';
-
- switch (tolower (buf[0]))
- {
- case Consumer_Input_Handler::REGISTER:
- {
- register_consumer ();
- ACE_TRY_CHECK;
- break;
- }
- case Consumer_Input_Handler::UNREGISTER:
- {
- unregister_consumer ();
- ACE_TRY_CHECK;
- break;
- }
- case Consumer_Input_Handler::EXIT:
- {
- quit_consumer_process ();
- ACE_TRY_CHECK;
- break;
- }
- }
- }
- ACE_CATCHANY
- {
- ACE_TRY_ENV.print_exception ("Input_Handler::init");
- return -1;
+ case Consumer_Input_Handler::REGISTER:
+ {
+ this->register_consumer ();
+ break;
+ }
+ case Consumer_Input_Handler::UNREGISTER:
+ {
+ this->unregister_consumer ();
+ break;
+ }
+ case Consumer_Input_Handler::EXIT:
+ {
+ this->quit_consumer_process ();
+ break;
+ }
}
- ACE_ENDTRY;
-
return 0;
}
@@ -82,66 +69,67 @@ int
Consumer_Input_Handler::register_consumer ()
{
- //CORBA::Environment ACE_TRY_ENV;
+ // Get the stockname the consumer is interested in.
+ char stockname[BUFSIZ];
- ACE_TRY_NEW_ENV
- {
- // Get the stockname the consumer is interested in.
- char stockname[BUFSIZ];
+ ACE_DEBUG ((LM_DEBUG,
+ "Stockname?"));
- ACE_DEBUG ((LM_DEBUG,
- "Stockname?"));
-
- ssize_t strlen = ACE_OS::read (ACE_STDIN,
- stockname,
- sizeof stockname - 1);
-
- // Taking care of platforms where an carriage return is padded with newline.
- if (stockname[strlen -2] == '\n' || stockname[strlen -2] == '\r')
- stockname[strlen -2] = '\0';
- else
- if (stockname[strlen -1] == '\n' || stockname[strlen -1] == '\r')
- stockname[strlen -1] = '\0';
+ ssize_t strlen = ACE_OS::read (ACE_STDIN,
+ stockname,
+ sizeof stockname - 1);
+
+ // Taking care of platforms where an carriage return is padded with newline.
+ if (stockname[strlen -2] == '\n' || stockname[strlen -2] == '\r')
+ stockname[strlen -2] = '\0';
+ else
+ if (stockname[strlen -1] == '\n' || stockname[strlen -1] == '\r')
+ stockname[strlen -1] = '\0';
- this->consumer_handler_->stock_name_ = stockname;
+ this->consumer_handler_->stock_name_ = stockname;
- // Get the threshold value.
- char needed_stock_value[BUFSIZ];
- ACE_DEBUG ((LM_DEBUG,
- "Threshold Stock value?"));
+ // Get the threshold value.
+ char needed_stock_value[BUFSIZ];
+ ACE_DEBUG ((LM_DEBUG,
+ "Threshold Stock value?"));
- strlen = ACE_OS::read (ACE_STDIN,
- needed_stock_value,
- sizeof needed_stock_value);
+ strlen = ACE_OS::read (ACE_STDIN,
+ needed_stock_value,
+ sizeof needed_stock_value);
- if (needed_stock_value[strlen -1] == '\n')
- needed_stock_value[strlen -1] = '\0';
+ if (needed_stock_value[strlen -1] == '\n')
+ needed_stock_value[strlen -1] = '\0';
- this->consumer_handler_->threshold_value_ =
- ACE_OS::atoi (needed_stock_value);
+ this->consumer_handler_->threshold_value_ =
+ ACE_OS::atoi (needed_stock_value);
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+
// Register with the server.
this->consumer_handler_->server_->register_callback (this->consumer_handler_->stock_name_,
- this->consumer_handler_->threshold_value_,
- this->consumer_handler_->consumer_var_.in (),
- ACE_TRY_ENV);
+ this->consumer_handler_->threshold_value_,
+ this->consumer_handler_->consumer_var_.in (),
+ ACE_TRY_ENV);
ACE_TRY_CHECK;
-
+
// Note the registration.
consumer_handler_->registered_ = 1;
consumer_handler_->unregistered_ = 0;
-
+
ACE_DEBUG ((LM_DEBUG,
- "registeration done!\n"));
+ "registeration done!\n"));
}
-
ACE_CATCHANY
{
- ACE_TRY_ENV.print_exception ("Consumer_Input_Handler::register_consumer()\n");
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Consumer_Input_Handler::register_consumer()\n");
return -1;
}
ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
return 0;
}
@@ -156,32 +144,21 @@ Consumer_Input_Handler::unregister_consumer ()
//CORBA::Environment ACE_TRY_ENV;
- ACE_TRY_NEW_ENV
- {
- if (consumer_handler_->registered_ == 1)
- {
- this->consumer_handler_->server_->unregister_callback (this->consumer_handler_->consumer_var_.in());
-
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- " Consumer Unregistered \n "));
- consumer_handler_->unregistered_ = 1;
- consumer_handler_->registered_ = 0;
- }
- else
- ACE_DEBUG ((LM_DEBUG,
- " Invalid Operation: Consumer not Registered\n"));
-
- }
- ACE_CATCHANY
+ if (consumer_handler_->registered_ == 1)
{
- ACE_TRY_ENV.print_exception ("Consumer_Input_Handler::unregister_consumer()");
- return -1;
+ this->consumer_handler_->server_->unregister_callback (this->consumer_handler_->consumer_var_.in());
+
+ ACE_DEBUG ((LM_DEBUG,
+ " Consumer Unregistered \n "));
+ consumer_handler_->unregistered_ = 1;
+ consumer_handler_->registered_ = 0;
}
- ACE_ENDTRY;
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ " Invalid Operation: Consumer not Registered\n"));
-return 0;
+
+ return 0;
}
int
@@ -190,7 +167,9 @@ Consumer_Input_Handler::quit_consumer_process ()
// Only if the consumer is registered and wants to shut
// down, its necessary to unregister and then shutdown.
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
{
if (consumer_handler_->unregistered_ != 1 && consumer_handler_->registered_ == 1)
{
@@ -222,6 +201,7 @@ Consumer_Input_Handler::quit_consumer_process ()
return -1;
}
ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
return 0;
}
diff --git a/TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp b/TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp
index 394695123ad..ad6d9ae5f6c 100644
--- a/TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp
+++ b/TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp
@@ -60,9 +60,9 @@ Consumer_Signal_Handler::quit_on_signal (void)
// Only if the consumer is registered and wants to shut down, its
// necessary to unregister and then shutdown.
- // CORBA::Environment TAO_TRY_ENV;
+ ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY_NEW_ENV
+ ACE_TRY
{
if (consumer_handler_->unregistered_ != 1
&& consumer_handler_->registered_ == 1)
@@ -71,18 +71,17 @@ Consumer_Signal_Handler::quit_on_signal (void)
(this->consumer_handler_->consumer_var_.in ());
ACE_DEBUG ((LM_DEBUG,
"Consumer Unregistered\n"));
- ACE_TRY_CHECK;
- }
- this->consumer_handler_->consumer_servant_->shutdown
- (ACE_TRY_ENV);
+ }
+ this->consumer_handler_->consumer_servant_->shutdown (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
}
-
ACE_CATCHANY
{
- ACE_TRY_ENV.print_exception ("Consumer_Input_Handler::quit_consumer_process()");
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Consumer_Input_Handler::quit_consumer_process()");
return -1;
}
ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
return 0;
}
diff --git a/TAO/examples/Callback_Quoter/Notifier_Input_Handler.cpp b/TAO/examples/Callback_Quoter/Notifier_Input_Handler.cpp
index 670963fff5d..dc76cad8648 100644
--- a/TAO/examples/Callback_Quoter/Notifier_Input_Handler.cpp
+++ b/TAO/examples/Callback_Quoter/Notifier_Input_Handler.cpp
@@ -52,45 +52,36 @@ Notifier_Input_Handler::~Notifier_Input_Handler (void)
int
Notifier_Input_Handler::init_naming_service (CORBA::Environment &ACE_TRY_ENV)
{
- ACE_TRY
- {
- CORBA::ORB_var orb = this->orb_manager_.orb ();
-
- PortableServer::POA_var child_poa
- = this->orb_manager_.child_poa ();
-
- int return_val =
- this->naming_server_.init (orb.in (),
- child_poa.in ());
- if (return_val == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Failed to initialize TAO_Naming_Server\n"),
- -1);
-
- // Register the object implementation with the POA.
- Notifier_var notifier_obj = this->notifier_i_._this (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Name the object.
- CosNaming::Name notifier_obj_name (1);
- notifier_obj_name.length (1);
- notifier_obj_name[0].id = CORBA::string_dup ("Notifier");
-
- ACE_TRY_CHECK;
-
- // Now, attach the object name to the context.
- this->naming_server_->bind (notifier_obj_name,
- notifier_obj.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_TRY_ENV.print_exception ("Notifier_Input_Handler::init_naming_service\n");
- return -1;
- }
- ACE_ENDTRY;
+ CORBA::ORB_var orb = this->orb_manager_.orb ();
+
+ PortableServer::POA_var child_poa
+ = this->orb_manager_.child_poa ();
+
+ int return_val =
+ this->naming_server_.init (orb.in (),
+ child_poa.in ());
+ if (return_val == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Failed to initialize TAO_Naming_Server\n"),
+ -1);
+
+ // Register the object implementation with the POA.
+ Notifier_var notifier_obj = this->notifier_i_._this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Name the object.
+ CosNaming::Name notifier_obj_name (1);
+ notifier_obj_name.length (1);
+ notifier_obj_name[0].id = CORBA::string_dup ("Notifier");
+ ACE_CHECK_RETURN (-1);
+
+ // Now, attach the object name to the context.
+ this->naming_server_->bind (notifier_obj_name,
+ notifier_obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
return 0;
}
@@ -188,6 +179,8 @@ Notifier_Input_Handler::init (int argc,
this->orb_manager_.activate_under_child_poa ("Notifier",
&this->notifier_i_,
ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
ACE_DEBUG ((LM_DEBUG,
"The IOR is: <%s>\n",
str.in ()));
@@ -201,8 +194,10 @@ Notifier_Input_Handler::init (int argc,
}
if (this->using_naming_service_)
- return this->init_naming_service (ACE_TRY_ENV);
-
+ {
+ this->init_naming_service (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ }
return 0;
}
@@ -219,6 +214,8 @@ Notifier_Input_Handler::run (CORBA::Environment &ACE_TRY_ENV)
ACE_ERROR_RETURN ((LM_ERROR,
"Notifier_Input_Handler::run"),
-1);
+ ACE_CHECK_RETURN (-1);
+
return 0;
}
@@ -227,7 +224,9 @@ Notifier_Input_Handler::handle_input (ACE_HANDLE)
{
char buf[BUFSIZ];
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
{
// The string could read contains \n\0 hence using ACE_OS::read
// which returns the no of bytes read and hence i can manipulate
@@ -257,6 +256,7 @@ Notifier_Input_Handler::handle_input (ACE_HANDLE)
return -1;
}
ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
return 0;
}
diff --git a/TAO/examples/Callback_Quoter/Notifier_i.cpp b/TAO/examples/Callback_Quoter/Notifier_i.cpp
index 65aa956d458..f3981350662 100644
--- a/TAO/examples/Callback_Quoter/Notifier_i.cpp
+++ b/TAO/examples/Callback_Quoter/Notifier_i.cpp
@@ -65,8 +65,9 @@ Notifier_i::register_callback (const char *stock_name,
if (this->consumer_map_.find (stock_name, consumers) == 0)
{
if ( consumers->insert (consumer_data) == -1)
- ACE_TRY_ENV.exception (new Callback_Quoter::Invalid_Stock
- ("Insertion failed! Invalid Stock!\n"));
+ ACE_THROW ( Callback_Quoter::Invalid_Stock ("Insertion failed! Invalid Stock!\n"));
+ // ACE_TRY_ENV.exception (new Callback_Quoter::Invalid_Stock
+ // ("Insertion failed! Invalid Stock!\n"));
else
ACE_DEBUG ((LM_DEBUG,
"Inserted map entry: stockname %s threshold %d",
@@ -84,8 +85,9 @@ Notifier_i::register_callback (const char *stock_name,
// When a new entry is tried to be inserted into the unbounded set and it
// fails an exception is raised.
if (consumers->insert (consumer_data) == -1)
- ACE_TRY_ENV.exception (new Callback_Quoter::Invalid_Stock
- ("Insertion failed! Invalid Stock!\n"));
+ ACE_THROW ( Callback_Quoter::Invalid_Stock ("Insertion failed! Invalid Stock!\n"));
+ //ACE_TRY_ENV.exception (new Callback_Quoter::Invalid_Stock
+ // ("Insertion failed! Invalid Stock!\n"));
// The bond between the stockname <hash_key> and the consumers <hash_value>
// is fused.
@@ -97,7 +99,6 @@ Notifier_i::register_callback (const char *stock_name,
"new map entry: stockname %s threshold %d\n",
stock_name,
threshold_value));
-
}
}
@@ -145,8 +146,9 @@ Notifier_i::unregister_callback (Callback_Quoter::Consumer_ptr consumer,
// removed an exception is raised.
if ((*iter).int_id_->remove (consumer_to_remove) == -1)
- ACE_TRY_ENV.exception (new Callback_Quoter::Invalid_Handle
- ("Unregistration failed! Invalid Consumer Handle!\n"));
+ ACE_THROW (Callback_Quoter::Invalid_Handle ( "Unregistration failed! Invalid Consumer Handle!\n"));
+ // ACE_TRY_ENV.exception (new Callback_Quoter::Invalid_Handle
+ // ("Unregistration failed! Invalid Consumer Handle!\n"));
else
ACE_DEBUG ((LM_DEBUG,
diff --git a/TAO/examples/Callback_Quoter/Supplier_i.cpp b/TAO/examples/Callback_Quoter/Supplier_i.cpp
index 2e6a4a77469..8d9ada5664a 100644
--- a/TAO/examples/Callback_Quoter/Supplier_i.cpp
+++ b/TAO/examples/Callback_Quoter/Supplier_i.cpp
@@ -152,7 +152,9 @@ int
Supplier::send_market_status (const char *stock_name,
long value)
{
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
{
// Make the RMI.
this->notifier_->market_status (stock_name,
@@ -210,7 +212,9 @@ Supplier::run (void)
int
Supplier::via_naming_service (void)
{
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
{
// Initialization of the naming service.
if (naming_services_client_.init (orb_.in ()) != 0)
@@ -240,7 +244,8 @@ Supplier::via_naming_service (void)
return -1;
}
ACE_ENDTRY;
-
+ ACE_CHECK_RETURN (-1);
+
return 0;
}
@@ -252,7 +257,9 @@ Supplier::init (int argc, char **argv)
this->argc_ = argc;
this->argv_ = argv;
- ACE_TRY_NEW_ENV
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
{
// Retrieve the ORB.
this->orb_ = CORBA::ORB_init (this->argc_,
@@ -301,7 +308,7 @@ Supplier::init (int argc, char **argv)
return -1;
}
ACE_ENDTRY;
-
+ ACE_CHECK_RETURN (-1);
return 0;
}
diff --git a/TAO/examples/Callback_Quoter/notifier.cpp b/TAO/examples/Callback_Quoter/notifier.cpp
index 9dd2ef2bc81..7e2fb150aac 100644
--- a/TAO/examples/Callback_Quoter/notifier.cpp
+++ b/TAO/examples/Callback_Quoter/notifier.cpp
@@ -13,7 +13,9 @@ main (int argc, char *argv[])
ACE_DEBUG ((LM_DEBUG,
"\n\tNotifier\n\n"));
- ACE_TRY_NEW_ENV
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
{
if (notifier.init (argc, argv, ACE_TRY_ENV) == -1)
return 1;