上篇文章介绍了java中异常机制,本文来演示一下自定义异常
上篇文章讲到非运行时异常和运行时异常,下面我们来看一下简单实现代码。
首先,先来看下演示目录
非运行时异常 也称 检查时异常
public class MyException extends Exception { /** * 构造一个基本异常. * @param message 信息描述 */ public MyException(String message) { super(message); } }
运行时异常
public class MyRunTimeException extends RuntimeException { /** * 构造一个基本异常. * @param message 信息描述 */ public MyRunTimeException(String message) { super(message); } }
测试类
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"); } } }
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]); } } } }
执行结果
非运行时异常
运行时异常
本文介绍的只是简单的一个示例,可根据具体情况实现!