• 异常-自定义异常的实现和测试


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

  • 相关阅读:
    Java知多少(57)主线程
    Java知多少(56)线程模型
    Java知多少(55)线程
    Java知多少(54)断言详解
    Java知多少(53)使用Java创建自己的异常子类
    Java知多少(52)内置异常
    Java知多少(51)finally
    Java知多少(50)Java throws子句
    Java知多少(49)throw:异常的抛出
    Java知多少(48)try语句的嵌套
  • 原文地址:https://www.cnblogs.com/ZHOUVIP/p/7221423.html
Copyright © 2020-2023  润新知