Java在实体类中抛出异常
时间: 2024-09-18 15:11:40 浏览: 61
EntityCopyDemo
在Java中,实体类(通常指包含数据字段和业务逻辑的方法的类)可以抛出异常来处理程序运行过程中的错误情况。当某个方法可能会遇到意外条件并无法正常完成其职责时,可以使用`throw`关键字抛出一个预定义的异常类型,如`NullPointerException`、`IllegalArgumentException`等。
下面是一个简单的例子:
```java
public class User {
private String name;
// 构造函数
public User(String name) {
if (name == null) { // 如果传入的姓名为空
throw new IllegalArgumentException("Name cannot be null.");
}
this.name = name;
}
// 获取姓名的方法
public String getName() {
return name;
}
// 这里假设getName方法也可能抛出其他异常
public int getAge() {
// 假设年龄获取逻辑有误,比如年龄字段未初始化
int age = 0; // ... 某些情况下计算age会失败
if (age < 0) {
throw new IllegalStateException("Invalid age value.");
}
return age;
}
}
// 主函数中如何捕获和处理异常
public static void main(String[] args) {
try {
User user = new User(null); // 这将抛出IllegalArgumentException
user.getAge(); // 这将抛出IllegalStateException
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} catch (IllegalStateException e) {
System.out.println(e.getMessage());
}
}
```
在这个例子中,如果输入名字为空或者年龄获取失败,相应的异常会被抛出,并在`main`函数中通过`catch`块捕获和处理。
阅读全文