> > "If there is runtime exception there is a bug in the code" > > I don't think that's correct because IllegalArgumentException is a > RuntimeException.
I have a hard time following that causality. The way I've seen this exception used mainly is in case of program errors, not in case of input validations. Similar to https://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html It's interesting that the IllegalArgumentException from the java API is meant to prove a point while the ones I referenced didn't seem to count ;)