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

    执行结果

      非运行时异常

      运行时异常

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

  • 相关阅读:
    odbc 连接字符串
    25个国外优秀电子商务网站设计案例
    用css 添加手状样式,鼠标移上去变小手,变小手
    js如何获得FCKeditor控件的值
    导致Asp.Net站点重启的10个原因
    分享45款高质量的免费(X)HTML/CSS模板
    20110627 VisualSVN安装与配置(Delphi72010/VS2010)
    iBatis把一个表的sqlmap配置的多个xml中。
    ASP.NET State Service
    存储过程分页
  • 原文地址:https://www.cnblogs.com/yanfeiLiu/p/9298819.html
Copyright © 2011-2022 走看看