Here is the PR with [lang]'s own call sites updated to use the new code. Gary
On Tue, Sep 3, 2019 at 2:13 PM Gary Gregory <[email protected]> wrote: > On Tue, Sep 3, 2019 at 1:19 PM Rob Spoor <[email protected]> wrote: > >> Why limit this to IllegalArgument? Why not make it more generic? For >> instance, in ExceptionUtils: >> >> public static <T extends Throwable> T format(final Function<? super >> String, ? extends T> factory, final String format, final Object... args) { >> return factory.apply(String.format(format, args)); >> } >> >> public static <T extends Throwable> T format(final BiFunction<? super >> String, ? super Throwable, ? extends T> factory, final Throwable t, >> final String format, final Object... args) { >> return factory.apply(String.format(format, args), t); >> } >> >> These can then be called using >> ExceptionUtils.format(IllegalArgumentException::new, "message: %s", >> message) or ExceptionUtils.format(IllegalArgumentException::new, cause, >> "message: %s", message). >> >> It's a bit verbose though, but it gives a lot more flexibility. >> > > Yes, we could add these to ExceptionUtils separately IMO; but, the > verbosity is an issue for me. This is straightforward: > > throw IllegalArgumentExceptions.format(e, "%s: %s %s operation %s: %s", > source, method, pathSpec, operation.getOperationId(), e.toString()); > > The following not as much: > > throw ExceptionUtils.format(IllegalArgumentException::new, e, "%s: %s %s > operation %s: %s", source, method, pathSpec, operation.getOperationId(), > e.toString()); > > So it could be that IllegalArgumentExceptions.format() is implemented in > terms of ExceptionUtils.format but there does not seem to be much to gain > from that. > > Gary > > >> >> On 03/09/2019 19:04, Gary Gregory wrote: >> > Please read the source. >> > >> > On Tue, Sep 3, 2019, 12:27 Xeno Amess <[email protected]> wrote: >> > >> >> Why don't you use java.lang.IllegalArgumentException instead? >> >> And, why we need such a class, but not using >> >> java.lang.IllegalArgumentException there? >> >> >> >> Gary Gregory <[email protected]> 于2019年9月3日周二 下午11:18写道: >> >>> >> >>> Hi All: >> >>> >> >>> I propose we take >> >>> >> >> >> https://commons.apache.org/proper/commons-text/xref/org/apache/commons/text/lookup/IllegalArgumentExceptions.html#IllegalArgumentExceptions >> >>> and make it a public class in [lang]. FWIW, I use a class like this in >> >> many >> >>> projects at work. >> >>> >> >>> Gary >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [email protected] >> >> For additional commands, e-mail: [email protected] >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >>
