Я довольно новичок в 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. –
reblace
вы пытаетесь получить доступ к «данным» вне блока, где вы его объявили. переместите объявление из блока try. – kmera
Нет, ваши данные объявлены внутри try. Кроме того, в read() нет другой переменной с именем data. Таким образом, вы получаете эту ошибку. – Steam