在Java中,IllegalArgumentException
是一种常见的运行时异常,用于指示方法接收到了一个非法或不合法的参数。当方法接收到无效参数时,就会抛出IllegalArgumentException
异常。
以下是一些可能导致IllegalArgumentException
异常的情况:
传递了空引用:
String str = null; if (str.isEmpty()) { // 抛出IllegalArgumentException异常 // ... }
传递了非法的数值:
int age = -10; if (age < 0) { // 抛出IllegalArgumentException异常 // ... }
使用了不合法的枚举常量:
```java
enum DayOfWeek {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
DayOfWeek day = DayOfWeek.valueOf(“INVALID”); // 抛出IllegalArgumentException异常
4. 方法参数不满足特定的条件:
```java
public void setAge(int age) {
if (age < 0 || age > 120) { // 抛出IllegalArgumentException异常
throw new IllegalArgumentException("Invalid age");
}
this.age = age;
}
当发生上述情况之一时,就会抛出IllegalArgumentException
异常。你可以通过捕获和处理该异常来采取适当的措施,例如给出错误提示、重新请求有效的参数等。