以下是今天学习的异常处理,附上视频源码。对于自己不理解的地方要反复看,跟着敲,只有多敲才会熟练。
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不会执行
}
}
//当覆盖一个函数的时候,子类不能声明抛出比父类版本更多的异常 在子类构造函数中,必须声明父类可能抛出的全部异常`````
原文地址:https://www.cnblogs.com/susususu/p/10704541.html
时间: 2024-10-27 02:08:12