axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henrik Nordberg (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Created: (AXISCPP-721) Axis###Exception::getMessage() returns a static variable
Date Thu, 30 Jun 2005 17:35:58 GMT
Axis###Exception::getMessage() returns a static variable
--------------------------------------------------------

         Key: AXISCPP-721
         URL: http://issues.apache.org/jira/browse/AXISCPP-721
     Project: Axis-C++
        Type: Bug
  Components: Server - Engine  
    Versions: current (nightly)    
    Reporter: Henrik Nordberg
    Priority: Minor


Axis exceptions' method getMessage() returns a static variable. Here is an example of the
code for AxisSoapException:

const string AxisSoapException::getMessage (const exception* objException)
{
    static string objExDetail = objException->what();

    return objExDetail;
}

What is the purpose of making objExDetail static? Doing so means that it is initialized the
first time this method is called (once per instance of the class), and after that the same
value will be returned no matter what objException is. Here is a version without static:

string AxisSoapException::getMessage (const exception& objException) const {
    return objException.what();
}

I also made the method const since we will not modify members. Also why use a pointer when
we don't have to? :)
I also think that since this code is common between Axis exceptions, it should be move to
a common base class.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message