zoukankan      html  css  js  c++  java
  • 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实现) 洛谷 P1106 删数问题
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1028 数的计算
    (Java实现) 洛谷 P1553 数字反转(升级版)
    (Java实现) 洛谷 P1051 谁拿了最多奖学金
    (Java实现) 洛谷 P1051 谁拿了最多奖学金
    (Java实现) 洛谷 P1106 删数问题
    目测ZIP的压缩率
  • 原文地址:https://www.cnblogs.com/android-deli/p/10544893.html
Copyright © 2011-2022 走看看