diff options
author | bala <balanatarajan@users.noreply.github.com> | 1999-05-25 21:56:57 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 1999-05-25 21:56:57 +0000 |
commit | 0e44f151eb2b0ed30e8ac2f55378fc765dd95ce0 (patch) | |
tree | 5be1a9874f4828c2d4692539e14bba17cb2434f8 /TAO/examples | |
parent | b3a4acf3507300443767e0973be1cd5dde3d8558 (diff) | |
download | ATCD-0e44f151eb2b0ed30e8ac2f55378fc765dd95ce0.tar.gz |
Made some changes to exception handling
Diffstat (limited to 'TAO/examples')
-rw-r--r-- | TAO/examples/Callback_Quoter/Consumer_Handler.cpp | 13 | ||||
-rw-r--r-- | TAO/examples/Callback_Quoter/Consumer_Input_Handler.cpp | 182 | ||||
-rw-r--r-- | TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp | 15 | ||||
-rw-r--r-- | TAO/examples/Callback_Quoter/Notifier_Input_Handler.cpp | 82 | ||||
-rw-r--r-- | TAO/examples/Callback_Quoter/Notifier_i.cpp | 16 | ||||
-rw-r--r-- | TAO/examples/Callback_Quoter/Supplier_i.cpp | 17 | ||||
-rw-r--r-- | TAO/examples/Callback_Quoter/notifier.cpp | 4 |
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; |