1.自定义编译时异常 定义一个异常类继承Exception. 重写构造器。 在出现异常的地方用throw new 自定义对象抛出, 作用:编译时异常是编译阶段就报错,提醒更加强烈,一定需要处理!!
2.自定义运行时异常 定义一个异常类继承RuntimeException. 重写构造器。 在出现异常的地方用throw new 自定义对象抛出! 作用:提醒不强烈,编译阶段不报错!!运行时才可能出现!!
异常类:
package Exception;
/**
自定义的异常类
*/
public class illegalAgeException extends Exception{
public illegalAgeException() {
}
public illegalAgeException(String message) {
super(message);
}
}
/**
1.自定义编译时异常
定义一个异常类继承Exception.
重写构造器。
在出现异常的地方用throw new 自定义对象抛出,
作用:编译时异常是编译阶段就报错,提醒更加强烈,一定需要处理!!
2.自定义运行时异常
定义一个异常类继承RuntimeException.
重写构造器。
在出现异常的地方用throw new 自定义对象抛出!
作用:提醒不强烈,编译阶段不报错!!运行时才可能出现!!
*/
异常测试:
package Exception;
import java.util.Scanner;
//自定义编译时异常
//年龄<0或(||)年龄>200为异常
public class zi_ding_yi_exception{
public static void main(String[] args) {
try {
age(203);
}catch (Exception e){
e.printStackTrace();
}
}
/**
* throws illegalAgeException, 在方法后面写为异常的其中一个写法,方法抛出异常,调用方法来处理异常
* @param age
* @throws illegalAgeException
*/
public static void age(int age) throws illegalAgeException{
Scanner sc = new Scanner(System.in);
while (true) {
if(age<0 || age>200){
throw new illegalAgeException("你的年龄输入有误,请重新输入");
}else {
System.out.println("你的年龄输入正确");
break;
}
}
}
}