Java中的自定义异常

代码实现

自定义异常类型主要实现代码

 public class Exception_demo extends Exception{
    //自定义异常,需要把自定义异常类继承于Exception异常类,自定义异常类属于异常类的子类
    public Exception_demo(){
        //构造方法也叫做构造器,构造方法的名字和类名称一致
        super();
        //没有指定参数的话 super()关键字就调用这个无参构造器
    }
    public Exception_demo(String info){
        super(info);
        //如果在创建自定义异常对象的时候,给予参数,就调用有参构造器

    }
}

自定义异常类测试代码

/**
 * 标题:Java中的自定义异常
 * 作者:Nstar
 * 时间:2020年3月23日
 */
//自定义异常类测试
public class Test25 {
    public static void main(String[] args) {    //入口方法
                 try {

                    System.out.println(exception_test(8,0));
                    //两个实参随便给,如果b=0就方法就抛出自定义类型的异常
                     //如果b不等于0就两数相除,打印出结果
                    //在此进行直接调用,由于受static关键字修饰,所以不用创建类的对象,直接调用
                    //被检查是否存在异常的代码
                 }
                 catch (Exception_demo e){
                     //catch用来捕获exception_test方法抛出的异常
                e.printStackTrace(System.out);   //捕获异常
                //e.printStackTrace(System.out)打印异常信息
                     //方法括号里写 System.out,这是Java8死要求,不能在方法括号内采用字符串拼接
                 }
    }
    public static int exception_test(int a,int b)throws Exception_demo{
        //public static int exception_test,定义静态的公共方法,返回值为int类型
       //throws Exception_demo 表明此方法可能抛出一个或多个异常
           if (b==0){
               throw new Exception_demo("自定义异常,被除数不能为零");
               //如果条件满足就抛出一个自定义类型的异常
               //把异常抛给调用者
           }
        else {
            //不满足就执行两数相除,并且返回int类型的值
               int num = a / b;
               return num;
           }

    }
}

执行结果
触发异常
(非自定义异常)
在这里插入图片描述
(自定义异常)
在这里插入图片描述
不触发异常
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值