考试成绩必须在0-100之间
很明显java没有对应的异常,需要我们自己来做一个异常
自定义异常
继承自Exception或继承自RuntimeException,具体看自己的需求
package cn.itcast_08;
/*
* java不可能对所有的情况都考虑到,所以,在实际的开发中,我们可能需要自己定义异常。
* 而我们自己随意的写一个类,是不能作为异常类来看的,要想你的类是一个异常类,就必须继承自Exception或者RuntimeException
*
* 两种方式:
* A:继承Exception,编译期异常
* B:继承RuntimeException,运行期异常
*/
public class MyException extends Exception {
public MyException() {
}
public MyException(String message) {
super(message);
}
}
// public class MyException extends RuntimeException {
//
// }
package cn.itcast_08;
public class Teacher {
public void check(int score) throws MyException {
if (score > 100 || score < 0) {
throw new MyException("分数必须在0-100之间");
} else {
System.out.println("分数没有问题");
}
}
// 针对MyException继承自RuntimeException
// public void check(int score) {
// if (score > 100 || score < 0) {
// throw new MyException();
// } else {
// System.out.println("分数没有问题");
// }
// }
}
package cn.itcast_08;
import java.util.Scanner;
/*
* 自定义异常测试类
*/
public class StudentDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生成绩:");
int score = sc.nextInt();
Teacher t = new Teacher();
try {
t.check(score);
} catch (MyException e) {
e.printStackTrace();
}
}
}