package itheima_04;
public class ScoreException extends Exception{
public ScoreException (){}
public ScoreException(String message){
super(message);
}
}
package itheima_04;
public class Teacher {
public void checkScore(int score) throws ScoreException{
if (score < 0 || score > 100){
// throw new ScoreException();
throw new ScoreException("你给的分数有误,分数应该在0-100之间");
}else {
System.out.println("分数正常");
}
}
}
package itheima_04;
import java.util.Scanner;
public class TeacherTest {
public static void main(String[] args) throws ScoreException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入分数:");
int score = sc.nextInt();
Teacher t = new Teacher();
t.checkScore(score);
}
}
throws和throw的区别
throws用在方法声明后面,跟的是异常类名
表示抛出异常,由该方法的调用者来处理
表示出现异常的一种可能性,并不一定发生这些异常
throw用在方法体内,跟的异常对象名
表示抛出异常,由方法题体内的语句处理
执行throw 一定抛出了某种异常