使用try / catch块返回一个方法

时间:2014-03-23 03:37:00

标签: java methods linked-list return try-catch

您好我在try / catch块中返回我的linkedList的逻辑有问题。我目前有:

public static LinkedList<String> makeList(String textName) {

    try {
        BufferedReader in = new BufferedReader(new InputStreamReader(
                new FileInputStream(textName), "UTF8"));

        LinkedList<String> ll = new LinkedList<String>();
        String line;

        while ((line = in.readLine()) != null) {
            ll.add(line);
        }
        return ll;
        in.close();
    } catch (UnsupportedEncodingException e) {
        System.out.println(e.getMessage());
    } catch (IOException e) {
        System.out.println(e.getMessage());
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

显然,只有在try块中的return语句出现了问题,但是当我还有#34;返回null时,&#34;尝试和捕获之外我仍然得到一个错误。感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

当您在它之前返回时,无法联系到您in.close();。是的,您还应该在try catch块之后添加一个返回

答案 1 :(得分:0)

将你的in.close()移动到finally块。