使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。 用户自定义异常类,只需继承 Exception 类即可。 在程序中使用自定义异常类,大体可分为以下几个步骤:
创建自定义异常类。在方法中通过 throw 关键字抛出异常对象。如果在当前抛出异常的方法中处理异常,可以使用 try-catch 语句捕获并处理;否则在方法的 声明处通过 throws 关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在出现异常方法的调用者中捕获并处理异常。比如Demo如下:
public class MyException extends Exception { private int detail; public MyException(int a){ this.detail=a; } @Override //捕获异常时的e就是tostring显示的内容 public String toString() { return "MyException{" + "detail=" + detail + '}'; } } public class testMyException { public static void test(int a) throws MyException { //抛出异常 System.out.println("传递的参数为"+a); if(a>10){ throw new MyException(a); //存在异常,可以选择捕获或者抛出异常 } System.out.println("ok"); } public static void main(String[] args) { try { test(1); //显示异常 } catch (MyException e) { //于是就捕获异常 e.printStackTrace(); System.out.println("myexception=>"+e); } } } 输出为: 传递的参数为1 ok 当 test(1); //显示异常这句改为 test(10); //显示异常 结果为: 传递的参数为11 myexception=>MyException{11}