题目:
在setAge(int age) 中对年龄进行判断,如果年龄介于1到100直接赋值,否则抛出异常。
在测试类中创建对象并调用setAge(int age)方法,使用try-catch捕获并处理异常。
测试类,注意使用printStackTrace函数输出自定义异常的内容:
package ch14.day0808.zy.zy01;
public class Test {
public static void main(String[] args) {
Person p1=new Person();
try {
p1.setAge(101);
} catch (TemException e) {
e.printStackTrace(); //将自定义的异常内容输出
}
}
}
创建一个实体类,当符合条件(年龄不在1~100)时,抛出自定义的异常:
package ch14.day0808.zy.zy01;
public class Person {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) throws TemException {
if(age<=1||age>=100) {
throw new TemException(); //抛出自定义的异常
}else {
this.age = age;
}
}
}
自定义异常,本类继承自java.lang.Exception:
package ch14.day0808.zy.zy01;
public class TemException extends Exception { //自定义异常
public TemException() {
super("年龄超出区间[1,100]"); //继承自java.lang.Exception
}
}