小编pat*_*ned的帖子

捕获时为什么要使用IOexception而不是Exception?

我似乎无法正确地说出这一点,搜索引擎可以获得任何有意义的结果.

try{
    BufferedReader reader = new BufferedReader( new FileReader("foo.bar") );
}
catch(Exception e){
    println( e.getMessage() );
}
Run Code Online (Sandbox Code Playgroud)

所以FileReader只抛出FileNotFoundException,据我所知它是一个IOException,这是一个例外.有人可以解释为什么我会抓住FileNotFoundException或者IOException只是指定通用的"异常"而不必导入异常(即导入java.io.FileNotFoundException;)?它是否严格用于可读性?

我使用所有三个名字捕获了异常,我找不到区别.

编辑: - - - - - - - - - -

private BufferedReader askUserForFile(String prompt){
        BufferedReader rd = null;
        while(rd == null){
            try{
                String filename = readLine(prompt);
                rd = new BufferedReader( new FileReader(filename) );
            }
            catch(Exception e){
                println(e.getMessage());
            }
        }
        return rd;
    }
Run Code Online (Sandbox Code Playgroud)

java exception

6
推荐指数
2
解决办法
1114
查看次数

标签 统计

exception ×1

java ×1