[ http://issues.apache.org/jira/browse/AXISCPP-721?page=all ]
     
Dushshantha Chandradasa closed AXISCPP-721:
-------------------------------------------


> 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
>     Assignee: Dushshantha Chandradasa
>     Priority: Minor
>  Attachments: ExceptionModel_before.JPG
>
> 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

Reply via email to