1 /* 2 * java不可能对所有的异常情况都考虑到,所以,在实际的开发中,我们可能需要自己定义异常。 3 * 而我们自己随意的写一个类,是不能作为异常类来看的,要想你的类是一个异常类,就必须继承自Exception或者RuntimeException 4 * 5 * 两种方式: 6 * A:继承Exception 编译期异常 7 * B:继承RuntimeException 运行期异常 8 */ 9 public class MyException extends Exception { 10 //无参构造 11 public MyException() { 12 } 13 //带参构造 14 public MyException(String message) { 15 super(message);//调用父类Throwable的方法,以便出现异常的时候能提示异常的具体原因 16 } 17 } 18 19 // public class MyException extends RuntimeException { 20 // 21 // }
1 public class Teacher { 2 public void check(int score) throws MyException { 3 if (score > 100 || score < 0) { 4 throw new MyException("分数必须在0-100之间"); 5 } else { 6 System.out.println("分数没有问题"); 7 } 8 }
测试类:
1 import java.util.Scanner; 2 3 /* 4 * 自定义异常测试类 5 */ 6 public class StudentDemo { 7 public static void main(String[] args) { 8 Scanner sc = new Scanner(System.in); 9 System.out.println("请输入学生成绩:"); 10 int score = sc.nextInt(); 11 12 Teacher t = new Teacher(); 13 try { 14 t.check(score); 15 } catch (MyException e) { 16 e.printStackTrace(); 17 } 18 } 19 }