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;
    }
}

 

输出

 

转载于:https://www.cnblogs.com/longesang/p/11290570.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值