zoukankan      html  css  js  c++  java
  • Java 异常(二) 自定义异常

    上篇文章介绍了java中异常机制,本文来演示一下自定义异常

      上篇文章讲到非运行时异常和运行时异常,下面我们来看一下简单实现代码。

    首先,先来看下演示目录

    非运行时异常 也称 检查时异常

    public class MyException extends Exception {
    
        /**
         * 构造一个基本异常.
         * @param message 信息描述
         */
        public MyException(String message) {
            super(message);
        }
    
    }
    View Code

    运行时异常

    public class MyRunTimeException extends RuntimeException {
    
        /**
         * 构造一个基本异常.
         * @param message 信息描述
         */
        public MyRunTimeException(String message) {
            super(message);
        }
    
    }
    View Code

    测试类

    public class ExceptionTest {
        public void execute(String mes) throws MyException {
            System.out.println("execute...");
            if ("true".equals(mes)) {
                throw new MyException("参数不能为 true");
    //             如果使用这个类来测试运行时异常可以不用抛出异常
    //             RuntimeException 是Java 虚拟机正常运行期间抛出的异常的超类 任何子类都无需在 throws 子句中进行声明
    //            throw new MyRunTimeException("参数不能为 true");
            }
        }
    }
    View Code

    Main方法

    public class Main {
        public static void main(String[] args) {
            ExceptionTest exceptionTest = new ExceptionTest();
            try {
                exceptionTest.execute("true");
            } catch (MyException e) {
                e.printStackTrace();
            }
            String[] nums = {"123", "456", "-1"};
            for (int i = 0; i < nums.length; i++) {
                if ("-1".equals(nums[i])) {
                    throw new MyRunTimeException("不能为负数哦!");
                } else {
                    System.out.println(nums[i]);
                }
            }
        }
    }
    View Code

    执行结果

      非运行时异常

      运行时异常

     本文介绍的只是简单的一个示例,可根据具体情况实现!

  • 相关阅读:
    用Canvas绘制一个钟表
    用css3做一个3D立方体
    函数调用的不同方式,以及this的指向
    Javascript 严格模式use strict详解
    前端开发页面的性能优化方案总结
    Promise对象解读
    Vue爬坑之vuex初识
    WEB前端性能优化小结
    navicat 注册码
    docker
  • 原文地址:https://www.cnblogs.com/yanfeiLiu/p/9298819.html
Copyright © 2011-2022 走看看