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();
            }
        }
    
    }
    终身学习者
  • 相关阅读:
    互联网预言大神:凯文·凯利——预测未来的12个趋势
    仅有算法远远不够:AI突破下一站,需要对硬件重新审视
    软件开发中经常使用的5种设计模式
    强化学习到底是什么,它如何运作?
    2020年网络安全的六大经验教训
    选择困难终结者:不同问题之下的机器学习算法
    为什么物联网如此重要?
    Pku3080 Blue Jeans
    pku1734 Musical Theme
    [Usaco2006 Dec]Milk Patterns
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/9769219.html
Copyright © 2011-2022 走看看