Я читаю из файла, и я хочу обрабатывать исключения, используя блоки try/catch. Я написал свой код. Тем не менее, eclipse дал мне ошибку с просто объявлением моего объекта сканера, и мне пришлось инициализировать его до нуля. Ниже я написал две версии моего кода. Что считается лучшей практикой? Кроме того, лучше ли использовать блок try/catch, чем просто выбросить исключение в конце заголовка конструктора/функции?Java Scanner Good Practice
код версии # 1:
java.util.Scanner in = null;
try {
in = new java.util.Scanner (f);
/* use scanner */
} catch (FileNotFoundException e) {
System.err.println("File was not found. Make sure the file exist.");
System.err.println("Message: " + e.getMessage());
} catch (IOException e) {
System.err.println("File could not be opened.");
System.err.println("Message: " + e.getMessage());
} finally {
in.close();
}
код версии # 2:
try {
java.util.Scanner in = new java.util.Scanner (f);
/* use scanner */
in.close();
} catch (FileNotFoundException e) {
System.err.println("File was not found. Make sure the file exist.");
System.err.println("Message: " + e.getMessage());
} catch (IOException e) {
System.err.println("File could not be opened.");
System.err.println("Message: " + e.getMessage());
}
Код версии №1: лучше. –
Есть ли какая-то особая причина, или это просто то, что более распространено? –