学习打卡

package exception;

class OpenException extends Exception{}
//任何继承了Throwable类的对象可以被抛出,Exception是Throwable类的子类

class CloseException extends OpenException{}

public class ArrayIndex {
    public static void f() throws OpenException{
    }
    public static int open() {
        return -1;
    }
    public static void readFile() throws OpenException,CloseException{//如果你自定义函数抛出异常,需在函数头部加以声明
        if(open() == -1)
            throw  new CloseException();
    }
      public static void main(String[] args) {
          try {
              readFile();
          }catch(OpenException e) {
              e.printStackTrace();
              System.out.println("Open");
          }//抛出子类异常会捕捉父类异常的catch捕捉到
          //catch(CloseException e) {
              //e.printStackTrace();
             // System.out.println("Close");此时,子类的异常已被捕捉,所以该catch不会执行
          }
          }
     
//当覆盖一个函数的时候,子类不能声明抛出比父类版本更多的异常      在子类构造函数中,必须声明父类可能抛出的全部异常`````

猜你喜欢

转载自www.cnblogs.com/susususu/p/10704541.html