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

扫描二维码关注公众号,回复: 2134734 查看本文章

测试类

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

执行结果

非运行时

运行时异常

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

猜你喜欢

转载自www.cnblogs.com/yanfeiLiu/p/9298819.html