多重catch的子与父关系。
我对于这里的 子与父关系不是很理解,希望大神能够解答。
我对于这里的 子与父关系不是很理解,希望大神能够解答。
2018-07-19
多重 catch 语句中,异常类型必须子类在前父类在后
如果你把父类放前面就执行不到后边的了,把子类放前面,因为子类的异常信息比父类更详细。
后面的同学如果不懂记下来就好了,实例:
try {
reader = new FileReader("d:/b.txt"); // 读取文件,没有b.txt这个文件的异常
System.out.println("step1");
char c1 = (char) reader.read(); // 文件中读取不到内容异常
System.out.println(c1);
} catch (FileNotFoundException e) { // 文件未找到异常 - 子类异常 前面 这个更详细
System.out.println("step2");
e.printStackTrace();
} catch (IOException e) { //文件异常 - 父类异常 后面
e.printStackTrace();
}
举报