The IllegalArgumentException
is an unchecked exception in Java that is thrown to indicate an illegal or unsuitable argument passed to a method. It is one of the most common exceptions that occur in Java.
Since IllegalArgumentException
is an unchecked exception, it does not need to be declared in the throws clause of a method or constructor.
What Causes IllegalArgumentException
An IllegalArgumentException
code> occurs when an argument passed to a method doesn't fit within the logic of the usage of the argument. Some of the most common scenarios for this are:
- When the arguments passed to a method are out of range. For example, if a method declares an integer age as a parameter, which is expected to be a positive integer. If a negative integer value is passed, an
IllegalArgumentException
will be thrown. - When the format of an argument is invalid. For example, if a method declares a string email as a parameter, which is expected in an
email
address format. - If a null object is passed to a method when it expects a non-empty object as an argument.
IllegalArgumentException Example
Here is an example of a IllegalArgumentException
thrown when the argument passed to a method is out of range:
public class Person {
int age;
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Age must be greater than zero");
} else {
this.age = age;
}
}
public static void main(String[] args) {
Person person = new Person();
person.setAge(-1);
}
}
In this example, the main()
method calls the setAge()
method with the age
code> argument set to -1. Since setAge()
code> expects age to be a positive number, it throws an IllegalArgumentException
code>:
Exception in thread "main" java.lang.IllegalArgumentException: Age must be greater than zero
at Person.setAge(Person.java:6)
at Person.main(Person.java:14)
How to Resolve IllegalArgumentException
The following steps should be followed to resolve an IllegalArgumentException
in Java:
- Inspect the exception stack trace and identify the method that passes the illegal argument.
- Update the code to make sure that the passed argument is valid within the method that uses it.
- To catch the
IllegalArgumentException
, try-catch blocks can be used. Certain situations can be handled using a try-catch block such as asking for user input again instead of stopping execution when an illegal argument is encountered.
Track, Analyze and Manage Java Errors With Rollbar

Managing errors and exceptions in your code is challenging. It can make deploying production code an unnerving experience. Being able to track, analyze, and manage errors in real-time can help you to proceed with more confidence. Rollbar automates Java error monitoring and triaging, making fixing errors easier than ever. Try it today.