【发布时间】:2014-01-17 19:02:07
【问题描述】:
我对java比较陌生,如果这是一个愚蠢的问题,请道歉。
我有以下功能
public static List<String[]> read(String document) throws IOException{
try{
CSVReader reader = new CSVReader(new FileReader(document));
List<String[]> data = reader.readAll();
reader.close();
} catch(IOException e){
e.printStackTrace();
}
return data;
}
但是我收到一个错误,即数据无法解析为变量。但是,如果 i 但在 try 语句中返回,则错误消失并声明该函数应该返回。由于变量在函数内部,我会认为无论捕获如何,它都会允许这样做。谁能向我解释我哪里出错了?
【问题讨论】:
-
声明“列表
数据;”在 try 语句之外。 -
您正试图在您声明它的块之外访问
data。将声明移出 try 块。 -
不,你的数据是在 try 中声明的。此外,read() 中没有其他名为 data 的变量。所以你会得到那个未解决的错误。
-
这不会破坏使用异常的对象,因为没有任何东西可以捕获?还是这是使用异常的不好方法?
-
@LiamSorsby 这与异常无关。