commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benedikt Ritter <>
Subject Re: [BeanUtils2] Some proposals for an exception name
Date Wed, 20 Jun 2012 06:58:22 GMT
2012/6/19 Simone Tripodi <>:
>> The point is with "Property %s not found in %s type" you're embedding the
>> relevant data in the message text and a client would have to parse the text
>> if a special handling is required.
> I would never force poor users parsing the exception message to
> understand what is wrong - I would add getters to the exception to
> retrieve both propertyName/targetClass of PropertyNotFoundException,
> in the same way users are used to invoke the getCause() method.
> Apologize for not having been explicit on this!

I'm working on this issue and I've created a hierachy like this:

- PropertyNotFoundException (Wraps IntrospectionException)
- PropertyNotReadableException (Wraps NoSuchMethodExcpetion)
- PropertyNotWirteableException (Wraps NoSuchMethodException)
- PropertyNotAccessibleException (Wraps IllegalAccessException)
- MethodInvocationException (Wraps InvocationTargetException)
- - PropertySetterInvocationException (Wraps InvocationTargetException)
- - PropertyGetterInvocationExcpetion (Wraps InvocationTargetExcpetion)

Right now I've a lot of code duplication, that I have to get rid of
before I create the new patch.
Beside that there is one other issue I'm not exactly sure how to deal
with. In my first patch attached to I've catched all
exceptions in DefaultBeanAcessor.get(String propertyName). That
results in a lot of try catch code in that class. Now I'm thinking
that it might be a better approach to handle exception where they
first appeared. For example we could catch the NoSuchMethodException
in DefaultBeanProperties. That would scatter the exception handling
everywhere around in the code, but it would reduce the overhead in
DefaultBeanAcessor. What do you think?


> -Simo
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message