抛出异常
本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 42 课,共 59 课。
Java 中的 throw 关键字可以让你显式地抛出异常。基本结构如下:
throw new ExceptionType("Error message");各部分如下:
throw:用于抛出异常的关键字new ExceptionType:创建一个新的异常(例如 IllegalArgumentException)"Error message":描述出了什么问题
我们来看看它的实际效果:
int age = -5;
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}执行上述代码后,程序会抛出:
IllegalArgumentException: Age cannot be negative
挑战
简单创建一个名为 validateAge 的方法,它接受两个参数:
- 要验证的整数(
age) - 用于决定验证规则的布尔值(
strict)
该方法应根据以下规则抛出异常:
- 如果 age 是负数:抛出 IllegalArgumentException,错误消息为 "Age cannot be negative"
- 如果 age 大于 150:抛出 IllegalArgumentException,错误消息为 "Age cannot be greater than 150"
- 如果 strict 为 true 且 age 为 0:抛出 IllegalArgumentException,错误消息为 "Age cannot be zero in strict mode"
- 如果没有抛出异常:将 age 作为字符串返回
亲手试试
import java.util.Scanner;
public class Main {
public static String validateAge(int age, boolean strict) {
// 在这里编写你的代码
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = Integer.parseInt(scanner.nextLine());
boolean strict = Boolean.parseBoolean(scanner.nextLine());
try {
System.out.println(validateAge(age, strict));
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器