public class Doudizhu {
public static void main(String[] args) {
/*自定义异常:
自定义编译时异常
a. 定义一个异常类继承Exception
b. 重写构造器
c. 再出现异常的地方用throw new 自定义对象抛出!
编译时异常是编译阶段就报错, 提醒更加强烈, 一定要处理
自定义运行时异常
a. 定义一个异常类继承RuntimeException.
b. 重写构造器
c. 再出现异常的地方用throw new 自定义对象抛出!
提醒不强烈, 编译阶段不报错! 运行时才可能出现!
*/
//假设年龄小于0 或者大于200就是不合法
try{
checkAge(509);
}catch (AgeIlleagalException a){
a.printStackTrace();
}
}
public static void checkAge(int age) throws AgeIlleagalException{
//抛出一个异常对象给调用者
//throw : 在方法内部直接创建一个异常对象, 并从此点抛出
//throws : 在方法申明上的, 抛出方法内部的异常
if (age < 0 || age >200) {
throw new AgeIlleagalException(age + "这年龄不正确");
} else {
System.out.println("合法年龄");
}
}
}
class AgeIlleagalException extends Exception{
public AgeIlleagalException() {
}
public AgeIlleagalException(String message) {
super(message);
}
}