activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Lloyd (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQCPP-276) Please declare destructor to be protected in UncaughtExceptionHandler
Date Fri, 08 Jan 2010 16:58:16 GMT
Please declare destructor to be protected in UncaughtExceptionHandler
---------------------------------------------------------------------

                 Key: AMQCPP-276
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-276
             Project: ActiveMQ C++ Client
          Issue Type: Wish
          Components: Decaf
    Affects Versions: 3.1
         Environment: Linux GCC
            Reporter: Jim Lloyd
            Assignee: Timothy Bish
            Priority: Minor


Please consider adding a protected destructor to UncaughtExceptionHandler. In source file
src/main/decaf/lang/Thread.h, add the two lines highlighted with 'TO BE ADDED' below:

        class UncaughtExceptionHandler {
        public:

            /**
             * Method invoked when the given thread terminates due to the given uncaught exception.
             *
             * This method is defined to indicate that it will not throw an exception, throwing
             * and exception from this method will on most systems result in a segmentation
fault.
             */
            virtual void uncaughtException( const Thread* thread, const Throwable& error
) throw() = 0;
        protected:                                                      // TO BE ADDED
            ~UncaughtExceptionHandler() {}         // TO BE ADDED
        };

I compile with -Wall -Wextra -Werror and was getting compile errors because UncaughtExceptionHandler
had a virtual method without a virtual destructor. It looks like a protected nonvirtual dtor
is sufficient to eliminate that warning (with gcc 4.1.2)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message