异常处理系列教材 (五)

编程入门 行业动态 更新时间:2024-10-28 17:24:45

异常处理<a href=https://www.elefans.com/category/jswz/34/1737338.html style=系列教材 (五)"/>

异常处理系列教材 (五)

步骤1:创建自定义异常
步骤2:抛出自定义异常
步骤3:练习-自定义异常
步骤4:答案-自定义异常

示例 1 : 创建自定义异常

一个英雄攻击另一个英雄的时候,如果发现另一个英雄已经挂了,就会抛出EnemyHeroIsDeadException
创建一个类EnemyHeroIsDeadException,并继承Exception
提供两个构造方法
1. 无参的构造方法
2. 带参的构造方法,并调用父类的对应的构造方法

class EnemyHeroIsDeadException extends Exception{

     

    public EnemyHeroIsDeadException(){

         

    }

    public EnemyHeroIsDeadException(String msg){

        super(msg);

    }

}

示例 2 : 抛出自定义异常

在Hero的attack方法中,当发现敌方英雄的血量为0的时候,抛出该异常
1. 创建一个EnemyHeroIsDeadException实例
2. 通过throw 抛出该异常
3. 当前方法通过 throws 抛出该异常

在外部调用attack方法的时候,就需要进行捕捉,并且捕捉的时候,可以通过e.getMessage() 获取当时出错的具体原因

package charactor;

  

public class Hero {

    public String name; 

    protected float hp;

    public void attackHero(Hero h) throws EnemyHeroIsDeadException{

        if(h.hp == 0){

            throw new EnemyHeroIsDeadException(h.name + " 已经挂了,不需要施放技能" );

        }

    }

    public String toString(){

        return name;

    }

     

    class EnemyHeroIsDeadException extends Exception{

         

        public EnemyHeroIsDeadException(){

             

        }

        public EnemyHeroIsDeadException(String msg){

            super(msg);

        }

    }

      

    public static void main(String[] args) {

         

        Hero garen =  new Hero();

        garen.name = "盖伦";

        garen.hp = 616;

        Hero teemo =  new Hero();

        teemo.name = "提莫";

        teemo.hp = 0;

         

        try {

            garen.attackHero(teemo);

             

        catch (EnemyHeroIsDeadException e) {

            // TODO Auto-generated catch block

            System.out.println("异常的具体原因:"+e.getMessage());

            e.printStackTrace();

        }

         

    }

}


更多内容,点击了解: .html

更多推荐

异常处理系列教材 (五)

本文发布于:2024-03-14 21:08:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1737335.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:系列教材   异常

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!