Return-Path: Delivered-To: apmail-ws-axis-c-dev-archive@www.apache.org Received: (qmail 7006 invoked from network); 30 Jun 2005 10:52:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 30 Jun 2005 10:52:51 -0000 Received: (qmail 2167 invoked by uid 500); 30 Jun 2005 10:52:51 -0000 Delivered-To: apmail-ws-axis-c-dev-archive@ws.apache.org Received: (qmail 2060 invoked by uid 500); 30 Jun 2005 10:52:50 -0000 Mailing-List: contact axis-c-dev-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: "Apache AXIS C Developers List" Reply-To: "Apache AXIS C Developers List" Delivered-To: mailing list axis-c-dev@ws.apache.org Received: (qmail 2047 invoked by uid 99); 30 Jun 2005 10:52:50 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Jun 2005 03:52:50 -0700 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=DATE_IN_FUTURE_03_06,RCVD_BY_IP X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [12.40.51.197] (HELO mailhost.virtusa.com) (12.40.51.197) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Jun 2005 03:52:53 -0700 Received: from cs-mailsvr.Virtusa.com ([10.2.1.11]unverified) by mailhost.virtusa.com with InterScan Messaging Security Suite; Thu, 30 Jun 2005 06:51:08 -0400 Received: from 10.2.6.153 ([10.2.6.153]) by cs-mailsvr.Virtusa.com ([10.2.1.11]) with Microsoft Exchange Server HTTP-DAV ; Thu, 30 Jun 2005 10:52:57 +0000 Received: from Samisa by 10.2.1.11; 30 Jun 2005 16:52:44 +0000 Subject: Re: Overloaded processException in AxisEngineException class From: Samisa Abeysinghe To: Apache AXIS C Developers List In-Reply-To: References: Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: Virtusa Corporation Message-Id: <1120150364.2281.38.camel@Samisa> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 (1.4.6-2) Date: Thu, 30 Jun 2005 16:52:44 +0000 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Yes, you are correct. Looks like the "processException" is doing what the constructor should be doing. All these "processException" methods are private to the class and only used internally to set the class data members. We have 5 constructors and each has a corresponding "processException" version which is called from within the constructor. What we should do is to identify the useful constructors, move the logic from 'processException" to constructor and remove all unwanted constructors and all "processException" methods. Thanks, Samisa... On Thu, 2005-06-30 at 10:16, John Hawkins wrote: > I've always questioned why we have processException in the first place > ! I've never understood why you would want it. If the same fault is > thrown by different processes then you would have to know which > process call you were in to do anything useful. I have no idea why we > don't just remove it. I think you should always handle exceptions in > the calling program using try catch as usual. > > > > > > Samisa Abeysinghe wrote on 30/06/2005 > 11:04:29: > > > Hi All, > > We have several overloaded forms of processException in > > AxisEngineException class. > > > > I am sure that we are not using all of those. It is quite hard > to > > undestand and locate the problem locations when maintaining the > > implementation. Shall we drop those that are not used from the list > > below? > > > > void processException(const exception* e); > > void processException(const exception* e, const int > iExceptionCode); > > void processException (const exception* e, char* pcMessage); > > void processException(const int iExceptionCode); > > void processException(const int iExceptionCode, char* > pcMessage); > > > > BTW, some can be replaced with the copy constructor. I think we > > can drop the top 3 and keep the bottom 2. Sometime it is better to > > KISS ;-) > > > > Thanks, > > Samisa... -- Samisa Abeysinghe Virtusa Corporation