• Java-异常初步练习


    案例一:

    package com.esandinfo;
    
    /**
     * 自定义一个Exception类
     */
    class MyCustomException extends RuntimeException {
    
        private String name;
    
        MyCustomException(String name, int falg) {
            this(name);
        }
    
        MyCustomException(String name) {
            this.name = name;
        }
    
        public String getName() {return name;}
    }
    
    /**
     * 我现在去使用 刚刚自定义的Exception类
     */
    class MyUtils {
    
        public void doAction(String name) throws MyCustomException { // 需要在这里注意:,异常的抛出,好让main方法处理
            if ("史珍香".equals(name)) {
                throw new MyCustomException("兄弟,史珍香他报错了,你去处理异常吧!!!!", 0001);
            } else if ("李狗蛋".equals(name)) {
                throw new MyCustomException("兄弟,李狗蛋他奔溃了,你去处理异常吧!!!!", 0002);
            } else {
                throw new MyCustomException("未知异常,你去处理异常吧!!!!", -1000);
            }
            // .... 以后还需要定义异常,可以往下面加
        }
    
    }
    
    public class MyTest {
    
        public static void main(String[] args) {
            try {
                new MyUtils().doAction("史珍香");
                new MyUtils().doAction("李狗蛋"); // 不会执行了,因为第一个方法已经被捕获了,进入了 catch 
                new MyUtils().doAction(null);
            } catch (MyCustomException e) {
                // 打印捕获到的异常
                System.out.println(e.getName());
            }
        }
    
    }

    执行结果:



    案例二:

    package com.esandinfo;
    
    /**
     * 自定义一个Exception类,专门计算 【加法】 以后你可以增加为: 加减乘除
     */
    class MyException extends RuntimeException {
    
        private int result; // 这是计算后的结果值
    
        MyException(int value1, int value2) {
             result = value1 + value2;
        }
    
        public int getResult() {return this.result;}
    }
    
    /**
     * 我现在去使用 刚刚自定义的MyException类
     */
    class Utils {
    
        public void doAction(int value1, int value2) throws MyException { // 需要在这里注意:,异常的抛出,好让main方法处理
            throw new MyException(value1, value2);
            // .... 以后还需要定义异常,可以往下面加
        }
    
    }
    
    public class MyCount {
        public static void main(String[] args) {
            try {
                // 我现在调用 上面的Utils中的方法,就是为了捕获 Utils-->doAction方法丢出的异常
                new Utils().doAction(1000, 1000);
            } catch (MyException e) {
                System.out.println(e.getResult()); // 打印得到的 Utils-->doAction 方法丢出的异常
            }
        }
    }

    执行结果:

  • 相关阅读:
    java cp命令
    Ubuntu相关IP配置(转)
    (转)Linux操作系统下VMware的多网卡桥接转换
    Linux问题FAQ1
    hadoop运行常见问题FAQ
    hadoop运行故障问题解决1——datanode节点启动后自动关闭
    Java程序设计9——泛型
    一道灵活的css笔试题
    inherit与auto
    再谈visibility:hidden和display:none
  • 原文地址:https://www.cnblogs.com/android-deli/p/10544893.html
Copyright © 2020-2023  润新知