[wildfly-dev] The Big Log ID Change: https://github.com/wildfly/wildfly/pull/5906

Brian Stansberry brian.stansberry at redhat.com
Wed Feb 12 12:08:13 EST 2014


On 2/12/14, 9:50 AM, David M. Lloyd wrote:
>
> Finally, one small matter I want to sort out is that we have several
> modules which use a project-specific code for IllegalArugmentExceptions
> that pertain specifically to null parameters, whereas some do not use a
> code for this case and just throw the exception.
>
> My feeling is we should either (a) don't use a code for this kind of
> thing, or (b) come up with a "common" module or code space+project code
> which every project can reuse, so we just have one code that universally
> means "the parameter can't be null".
>

I think there are 3 cases:

1) Validating input that isn't coming from some external source. Use an 
assert, no i18n. CI testing should catch code that violates your 
constraint. An IAE is ok too, but when I review code, "assert" tells me 
that a deliberate choice was made that i18n is not a concern, whereas an 
IAE with no i18n looks like something that needs fixing.

2) Input is coming from an external source, but there's no expectation 
of added value to the user from using a context specific exception 
message. Value for example being a better knowledge base article or 
google search result. The stack trace provides the relevant data. Go 
with your b) solution.

3) Cases where there is some value from a context specific exception 
message. User can use the code to find content that better explains how 
the problem happens and how to avoid it.


-- 
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat


More information about the wildfly-dev mailing list