Hi Malintha,

What do we gain by defining an exception hierarchy? As long as we can
differentiate between exceptions that should be enough.


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

Reply via email to