Допустим, у меня есть пользовательский объект чтения, который выдает исключение:
public StationReader {
public StationReader(String inFile) throws FileNotFoundException {
Scanner scan = new Scanner(inFile);
while (scan.hasNextLine() {
// blah blah blah
}
// Finish scanning
scan.close();
}
}
И я вызываю StationReader из другого класса, тестер:
public Tester {
public static void main(String[] args) {
try {
StationReader sReader = new StationReader("i_hate_csv.csv");
} catch (FileNotFoundException e) {
System.out.println("File not found arggghhhhhh");
} finally {
// HOW TO CLOSE SCANNER HERE??
}
}
}
Теперь давайте представим, что при сканировании через строки выдается исключение, поэтому scan.close()
никогда не вызывается.
Как тогда закрыть объект сканера в этом случае?