On 21 October 2016 at 10:09, Chamila Adhikarinayake <[email protected]> wrote:
> > > On Thu, Oct 20, 2016 at 2:51 PM, Uvindra Dias Jayasinha <[email protected]> > wrote: > >> Hi Malintha, >> >> What do we gain by defining an exception hierarchy? As long as we can >> differentiate between exceptions that should be enough. >> >> Hi > > I think one gain we can get by malintha's suggestion is that we can throw > a single type of exception from a method instead of throwing multiple > types. This is one of the suggestions provided by sonar as well [1]. By > using malintha's method we can throw the super class. If not we have to > catch the exception and wrap it and throw it > > [1] https://sonar.spring.io/rules/show/squid:S1160 > We are not talking about throwing multiple exceptions from the same method. Its about throwing a specific exception that highlights clearly what has happened. > > >> On 20 October 2016 at 14:46, Malintha Amarasinghe <[email protected]> >> wrote: >> >>> Hi Uvindra, >>> >>> +1 for defining specific exceptions. >>> How about when defining a new APIMDAOException, extending it from a >>> general APIManagementException? When there's another specific DAO >>> related exception we can extend it from APIMDAOException. >>> In that way, we can group specific types of exceptions in a hierarchical >>> manner. >>> WDYT? >>> >>> Thanks! >>> >>> On Thu, Oct 20, 2016 at 2:27 PM, Uvindra Dias Jayasinha < >>> [email protected]> wrote: >>> >>>> I would like to know your thoughts on $subject. >>>> >>>> Previously we have a single custom exception class in APIM called >>>> 'APIManagementException' and this was used when throwing exceptions >>>> specific to the APIM product. Pros and Cons of doing it this way are, >>>> >>>> *Pros* - Only one APIM specific exception needs to be handled in the >>>> entire APIM code base >>>> >>>> *Cons* - When an exception is thrown its very difficult to pin point >>>> the reason for the exception to be thrown. This results in, >>>> >>>> 1. Having to solely depend on the error message of the exception to >>>> determine what has happened(Provided that the error message is clear) >>>> >>>> 2. Difficult to handle exception appropriately at code level because we >>>> are not aware of the specifics of the exception >>>> >>>> >>>> In light of this doesn't it make sense to define specific custom >>>> exceptions? For example when interacting with the DAO component of APIM if >>>> any data access errors are encountered we could define an >>>> 'APIMDAOException' and throw that. This allows users of the DAO component >>>> to clearly identify and handle that specific exception appropriately. >>>> >>>> >>>> This obviously needs to be applied in a way that makes sense at >>>> component level(DAO, Gateway, etc.) so its clear which specific component >>>> has run into an issue. >>>> >>>> WDYT? >>>> >>>> -- >>>> Regards, >>>> Uvindra >>>> >>>> Mobile: 777733962 >>>> >>> >>> >>> >>> -- >>> Malintha Amarasinghe >>> Software Engineer >>> *WSO2, Inc. - lean | enterprise | middleware* >>> http://wso2.com/ >>> >>> Mobile : +94 712383306 >>> >> >> >> >> -- >> Regards, >> Uvindra >> >> Mobile: 777733962 >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Regards, > Chamila Adhikarinayake > Software Engineer > WSO2, Inc. > Mobile - +94712346437 > Email - [email protected] > Blog - http://helpfromadhi.blogspot.com/ > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Regards, Uvindra Mobile: 777733962
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
