package com.example.demo.exceptionTest;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* @Description throws和throw的使用
* throws:用于在方法上声明式的抛出异常
* throw:用于在代码中手动的抛出异常(throw new xxxException())
*
* @Auther gf.x
* @Date 2020/4/7 17:16
*/
public class ThrowsAndThrow {
public static void main(String[] args) {
String s = null;
try {
//方法直接抛出异常,这里就会报错提示:Unhandled exception: java.io.FileNotFoundException
s = new ThrowsAndThrow().openFile(); //方法抛出了两个异常,此处就需要处理两个异常
} catch (FileNotFoundException e) { //catch FileNotFoundException
e.printStackTrace();
} catch (IOException e) { //catch IOException
e.printStackTrace();
}
System.out.println(s);
}
//如果方法这里直接向上抛出,那调用它的地方就可能会抛出异常,这就需要在调用它的地方来处理这个异常
String openFile() throws FileNotFoundException, IOException { //方法上抛出了两个异常,那调用方同样也需要处理这两个异常
FileReader fileReader = new FileReader("E:/test/child/a.txt"); //FileNotFoundException
char c = (char) fileReader.read(); //IOException
System.out.println(c);
return "" + c;
}
}