头歌 练习-Java异常处理之throw之学生总成绩
时间: 2024-12-30 15:36:59 浏览: 11
在Java中,异常处理是一种机制,用于在程序运行时遇到错误情况时优雅地控制流程并提供反馈。`throw` 关键字用于主动引发一个已声明的异常,通常是在某种条件不符合预期时,比如计算学生的总成绩过程中发现无效数据。
假设有一个场景,你需要计算学生的总成绩,每个学生的成绩可能是整数或浮点数。如果某个学生的分数不是数字,你可以抛出异常来表示这是一个错误。下面是一个简单的例子:
```java
public class StudentScore {
private double score;
public void setScore(double score) throws IllegalArgumentException {
// 如果传入的成绩不是数字,抛出 IllegalArgumentException 异常
if (!Double.isNaN(score)) {
this.score = score;
} else {
throw new IllegalArgumentException("Invalid score! Score must be a number.");
}
}
public double getTotalScore() {
return score;
}
}
public class Main {
public static void main(String[] args) {
try {
StudentScore student = new StudentScore();
student.setScore("not a number"); // 这会触发异常
} catch (IllegalArgumentException e) {
System.out.println("An error occurred: " + e.getMessage());
} finally {
// 在这里可以包含一些清理操作,无论是否发生异常
}
}
}
```
在这个例子中,`setScore()` 方法检查输入是否为数字,如果不是,则通过 `throw` 抛出 `IllegalArgumentException`。在 `main` 函数中,我们使用 `try-catch` 来捕获这个异常,并打印出错误信息。
阅读全文