- public class Test {
- public static void main(String[] args) {
- FileReader fr = Utils.getFileReader("test.txt");
- }
- }
- class Utils {
- public static FileReader getFileReader(String filePath) {
- try {
- FileReader fr = new FileReader(filePath);
- return fr;
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);//注释
- }
- }
- }
注释部分是处理方式。
问题:
1.为什么这样处理呢?
解答:java异常处理机制是try{}catch(Exception e){}finally{//程序的出口,这个根据需求可以选择}。java运行时环境收到异常对象时,会寻找处理该异常对象的catch块,如果找到合适的catch块并把该异常对象交给该catch块处理,那这个过程称为捕获异常;如果java运行时环境找不到捕获异常的catch块,则运行时环境终止,java程序也将退出。
2.这样throw出一个异常和在方法上throws异常有什么不同吗?
解答:throw代表一个动作,进行抛出异常,程序本身可以catch代码块中捕捉该异常。throws异常一般用在方法开始,进行声明,只是进行抛出不做任何处理~!不推荐使用。
3.如果catch住,不throw,只是打印提示信息呢?
解答:已经catch住了,根据需求判断时候抛出异常,throw一般在可能出现的异常很多使用,在后续的catch代码块中进行相应的代码处理~
4.一般这样的异常,该怎样处理?三种处理方式该符合选择?
解答:如上述~!
|