JAVAAI-GeneratedMarch 16, 2026

Java IllegalArgumentException Explained with Examples

Java IllegalArgumentException is a frequently encountered runtime exception in Java programming. It occurs when a method is invoked with illegal arguments, violating the method's contract or the class's invariant. In this article, we'll delve into the causes of Java IllegalArgumentException and provide actionable advice on how to fix it, along with examples to illustrate each scenario.

1. Passing null to a method that doesn't allow it

Java IllegalArgumentException occurs when you pass null to a method that explicitly states it doesn't accept null values. This can happen when the method is annotated with @NonNull or when it's explicitly documented to not accept nulls.

Why It Happens

You're passing a null value to a method that doesn't support nulls, often due to a misunderstanding of the method's contract or a mistake in your code.

How to Fix It

Check the method's signature and documentation to ensure it allows null values. If it doesn't, modify your code to pass a valid object or use the Optional class to handle nulls.


2. Invalid enum value

Java IllegalArgumentException also occurs when you pass an invalid enum value to a method or constructor.

Why It Happens

You're passing an enum value that doesn't exist in the specified enum type, often due to a typo or a misunderstanding of the enum values.

How to Fix It

Verify the enum values and ensure you're passing a valid enum constant. Use the enum type's values() method to retrieve a list of all valid enum values.


3. Invalid range value

Java IllegalArgumentException can occur when you pass a value outside the specified range.

Why It Happens

You're passing a value that's less than the specified minimum value or greater than the specified maximum value.

How to Fix It

Verify the range constraints and ensure the passed value is within the allowed range. Use conditional checks to enforce the range constraints.


4. Missing or invalid argument

Java IllegalArgumentException can occur when a required method argument is missing or invalid.

Why It Happens

You're missing a required method argument or passing an invalid value for a required argument.

How to Fix It

Check the method's signature and ensure all required arguments are passed with valid values. Use the method's parameter names to identify missing or invalid arguments.


5. Invalid array or collection size

Java IllegalArgumentException can occur when you pass an array or collection with an invalid size.

Why It Happens

You're passing an array or collection with a size that doesn't match the expected size, often due to a misunderstanding of the method's requirements.

How to Fix It

Verify the expected size and ensure the passed array or collection has the correct size. Use the Array.getLength() or Collection.size() method to retrieve the actual size.


6. Invalid pattern in regular expression

Java IllegalArgumentException can occur when you pass an invalid pattern to a regular expression method.

Why It Happens

You're passing a pattern that's not a valid regular expression, often due to a typo or a misunderstanding of the regular expression syntax.

How to Fix It

Verify the regular expression pattern and ensure it's valid. Use the Pattern.compile() method to compile the pattern and catch any compilation errors.


7. Invalid time zone

Java IllegalArgumentException can occur when you pass an invalid time zone to a method.

Why It Happens

You're passing a time zone that doesn't exist or is not supported, often due to a typo or a misunderstanding of the time zone names.

How to Fix It

Verify the time zone and ensure it's valid. Use the TimeZone.getTimeZone() method to retrieve a list of all available time zones.


8. Invalid locale

Java IllegalArgumentException can occur when you pass an invalid locale to a method.

Why It Happens

You're passing a locale that doesn't exist or is not supported, often due to a typo or a misunderstanding of the locale names.

How to Fix It

Verify the locale and ensure it's valid. Use the Locale.getAvailableLocales() method to retrieve a list of all available locales.

Conclusion

In conclusion, Java IllegalArgumentException is a common runtime exception that occurs when a method is invoked with invalid arguments. By understanding the causes of this exception and following the provided solutions, you can effectively identify and fix Java IllegalArgumentException errors in your code. Remember to always verify the method's contract, check for null values, and ensure the passed values are within the allowed range to avoid this exception.

Browse allJava errors

Related JAVA Articles

Have a specific error? Get an instant AI explanation.

Explain an Error