zoukankan      html  css  js  c++  java
  • 31.3 自定义异常类 MyException

    /*
    * 异常的分类
    运行时期异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理
    编译时期异常:是Exception的子类,非RuntimeExcpetion的子类,在编译时期必须处理

    * 需求:写一个方法,接受考试成绩,如果考试成绩的范围在0-100之间则属于正常,否则属于异常
    *
    * throws:处理异常的一种方式,把异常抛出,由调用者来处理
    * throw:制造异常的方式,并且结束方法
    *
    * 注意:如果抛出(throw)的是编译时期异常,必须在方法声明处抛出(throws)
    *
    * 如何自定义一个异常类呢?
    * 非常简单,写一个类去继承Exception或者RuntimeException,然后实现多个构造即可
    * 继承Exception则编译使就需要处理异常。继承RuntimeException则是运行后会报出异常
    *
    */

    package day31_exception;
    
    public class MyException extends /*Exception */RuntimeException{
        public MyException() {
            super();
        }
    
        public MyException(String message){
            super(message);
        }
    }
    public class ExceptionDemo2异常的分类 {
        public static void main(String[] args) {
           try {
               boolean flag = checkNum(1099);
               System.out.println(flag);
           }catch (MyException e) {
    //           e.printStackTrace();//printStackTrace输出和系统输出的报错一致,优点在于这个报错是try报出的不会使程序退出
               System.out.println(e.toString());
           }
        }
    
        public static boolean checkNum(int num) /*throws MyException */{
            if(0>num || num>100) {
    //            return false;
                throw new MyException("数据不在范围内");
            }
    
            return true;
        }
    }

    输出

  • 相关阅读:
    HDU_2191_多重背包
    HDU_1494_dp
    POJ_1088_dfs
    所有的畅通工程[HDU1232][HDU1874][HDU1875][HDU1879]
    畅通工程[HDU1863]
    还是畅通工程[HDU1233]
    最小生成树
    Who's in the Middle[HDU1157]
    Bungee Jumping[HDU1155]
    Is It A Tree?[HDU1325][PKU1308]
  • 原文地址:https://www.cnblogs.com/longesang/p/11290570.html
Copyright © 2011-2022 走看看