Java 面向对象进阶内容( 三 )

  • Exception 是程序本身能够处理的异常 。Exception类是所有异常类的父类,分为:
    • RuntimeException 运行时异常
    • 如被 0 除、数组下标越界、空指针(访问空对象成员)等
    • CheckedException 已检查异常
    • 所有不是RuntimeException的异常,统称为Checked Exception.
  • 捕获异常
    • try-catch-finally
    •  
      • 如果异常类之间有继承关系,越是顶层的类,越放在下面;或者直接把多余的catch省略掉,即先捕获子类异常再捕获父类异常
      • 即使try和catch块中存在return语句,finally语句也会执行 。是在执行完finally语句后再通过return退出 。
      • finally语句块只有一种情况是不会执行的,那就是在执行finally之前遇到了 System.exit(0) 结束程序运行 。
    • throws
    • 如果一个方法中可能产生某种异常,但是并 不能确定如何处理这种异常 ,则应根据异常规范在方法的首部声明该方法可能抛出的异常 。
    • public static void readFile(String fileName) throws FileNotFoundException,IOException {...}
    • 方法重写中声明异常原则: 子类重写父类方法时,如果父类方法有声明异常,那么子类声明的异常范围不能超过父类声明的范围。




    推荐阅读