zoukankan      html  css  js  c++  java
  • 【自定义异常】

    package com.test;
    
    /**
     * @author shusheng
     * @description
     * @Email shusheng@yiji.com
     * @date 2018/10/10 21:15
     * <p>
     * java不可能对所有的情况都考虑到,所以,在实际的开发中,我们可能需要自己定义异常。
     * 而我们自己随意的写一个类,是不能作为异常类来看的,要想你的类是一个异常类,
     * 就必须继承自Exception或者RuntimeException
     * <p>
     * 两种方式:
     * A:继承Exception
     * B:继承RuntimeException
     */
    
    /**
     *java不可能对所有的情况都考虑到,所以,在实际的开发中,我们可能需要自己定义异常。
     *而我们自己随意的写一个类,是不能作为异常类来看的,要想你的类是一个异常类,
     * 就必须继承自Exception或者RuntimeException
     *
     *两种方式:
     *A:继承Exception
     *B:继承RuntimeException
     */
    
    /**自定义异常:
     考试成绩必须在 0-100 之间
     很明显 java 没有对应的异常,需要我们自己来做一个异常自定义异常
     继承自 Exception:编译要检查
     继承自 RuntimeException:编译和运行都要检查*/
    public class MyException extends Exception {
    
        public MyException() {
        }
    
        public MyException(String message) {
            super(message);
        }
    
    }
    package com.test;
    
    /**
     * @author shusheng
     * @description
     * @Email shusheng@yiji.com
     * @date 2018/10/10 21:16
     */
    public class Teacher {
    
        // 针对MyException继承自Exception,编译时会检查,未处理的需要抛出
        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 com.test;
    
    import java.util.Scanner;
    
    /**
     * @author shusheng
     * @description
     * @Email shusheng@yiji.com
     * @date 2018/10/10 21:14
     */
    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();
            }
        }
    
    }
    终身学习者
  • 相关阅读:
    C#0004--打开和保存文本文件
    C#0003--如何使用树状视图控件
    C#0002--信息提示框的使用
    C#0001--如何使用错误提醒控件
    使用C#创建简单的联系人备忘录
    SharePoint站点图片轮转器imageRotator
    优秀的代码的设计和组织架构
    思考:为什么每一种开发语言的语法都是不一样的呢(语法设置的不一样的出发点是基于什么考虑)?如果设置成一样有什么不可行的吗?
    分析一个突发问题的思考方法
    思考:架构师的前瞻性能力
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/9769219.html
Copyright © 2011-2022 走看看