Is null checked or unchecked?
I think neither, so isUnchecked also needs to check for null.
I wonder whether it might be better to throw NPE in both cases for null.
It may be confusing for users if not checked != unchecked.
e.g. it is tempting to code:
if (isChecked(t)) {
} else { // must be unChecked
}
If we don’t throw NPE, then it needs to be made very clear that
isChecked and isUnchecked are not opposites, there is a 3rd case.
In any case, there needs to be a unit-test specifically for null.
Sebb
On Mon, 3 Jul 2023 at 01:29, Elliotte Rusty Harold <[email protected]> wrote:
>
> On Mon, Jul 3, 2023 at 12:20 AM Gary Gregory <[email protected]> wrote:
> >
> > Hi Elliotte:
> >
> > Might you be looking at some old code in the PR?
> >
>
> Just looking at what was posted in the email thread. It's a weird
> corner case not everyone thinks of.
>
> > The current code is:
> >
> > /**
> > * Checks if a throwable represents a checked exception
> > *
> > * @param throwable
> > * The throwable to check.
> > * @return True if the given Throwable is a checked exception.
> > * @since 3.13.0
> > */
> > public static boolean isChecked(final Throwable throwable) {
> > return throwable != null && !(throwable instanceof Error) &&
> > !(throwable instanceof RuntimeException);
> > }
>
> This also looks wrong. This might work:
>
> public static boolean isChecked(final Throwable throwable) {
> return throwable != null && throwable instanceof Exception &&
> !(throwable instanceof RuntimeException);
> }
>
>
>
> --
> Elliotte Rusty Harold
> [email protected]
>
> ---------------------------------------------------------------------
> 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]