commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [codec] RuntimeException DigestUtils.getDigest(String)
Date Sat, 01 Sep 2012 16:23:56 GMT
On Sat, Sep 1, 2012 at 12:08 PM, Christian Hammers <ch@lathspell.de> wrote:

> Linking the exceptions is a good idea as it preserves the original
> stack trace. What could cause this Exception is hard to guess but
> a wrong paramter string is more likely than a broken Java installation
> thus IllegalArgument probably fits better.
>

The BC issue in that changing to IAE breaks behavior of code like:

         try {
             return DigestUtils.getInstance("BadAlgorithm");
         } catch (IllegalArgumentException e) {
             // do somehting foo
         } catch (RuntimeException e) {
             // do somehting bar
         }

It's unlikely but it is possible! ;)

Gary



>
> bye,
>
> -christian-
>
>
> Am Sat, 1 Sep 2012 11:27:51 -0400
> schrieb Gary Gregory <garydgregory@gmail.com>:
>
> > There is a nice bit of (IMO) ugliness in
> > org.apache.commons.codec.digest.DigestUtils.getDigest(String):
> >
> >     public static MessageDigest getDigest(String algorithm) {
> >         try {
> >             return MessageDigest.getInstance(algorithm);
> >         } catch (NoSuchAlgorithmException e) {
> >             throw new RuntimeException(e.getMessage());
> >         }
> >     }
> >
> > Throwing a RuntimeException and not even linking the exception
> > combine for two no-nos.
> >
> > I propose:
> >
> >             throw new IllegalArgumentException(e);
> >
> > In theory, this would break someone looking for a DigestUtils
> > throwing a RuntimeException.
> >
> > At the very least we should do:
> >
> >             // ugly
> >             throw new RuntimeException(e);
> >
> > Thoughts?
> >
> > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
> > Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message