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

Reply via email to