上节课留下了一个概念,自定义异常类。为什么要自己编写异常类,上节课做了简要的说明。如果jdk里面没有提供的异常,我们就要自己写。我们常用的类ArithmeticException,NullPointerException,NegativeArraySizeException,ArrayIndexoutofBoundsException,SecurityException这些类,都是继承着RuntimeException这个父类,而这个父类还有一个父类是Exception。那么我们自己写异常类的时候,也是继承Exception这个类的。
实践:
class MyException extends Exception { //继承了Exception这个父类 private int detail; MyException(int a) { detail = a;} public String toString() { return "MyException[" + detail + "]"; }} class ExceptionDemo { static void compute(int a) throws MyException { System.out.println("调用 compute(" + a + ")"); if(a > 10) throw new MyException(a); System.out.println("常规退出 "); } public static void main(String args[]) { try { compute(1); compute(20); } catch (MyException e) { System.out.println("捕捉 " + e); //这样就可以用自己定义的类来捕捉异常了 }}} |
像是上节课我们说了,如果你开发程序用到好多组件,或其它厂商的东西。那么出现的异常会是莫明其妙的,这样的话会给调试带来很大的不便。往往在开发的过程中会写很多自定义的异常类。
总结:
异常处理机制是保证java程序正常运行、具有较高安全性的重要手段。对于开发良好的编程习惯是非常重要的。