Я новичок в java. У меня вопрос о том, как организовать Java-код при использовании блоков try catch finally. предположим, что мне нужно прочитать некоторые текстовые файлы и выполнить некоторые вычисления в содержимом сохраненного файла. как должен выглядеть мой код?организация java-кода при использовании try catch finally blocks
Например
код 1 выглядит следующим образом:
public static void main(String[] args){
try{
//open files using BufferedReader, read and store the file contents.
}catch(IOException e){
e.printStackTrace();
}
finally{
//close the files
}
// do computations on the data
}
код 2 выглядит следующим образом:
public static void main(String[] args){
try{
//open files using BufferedReader, read and store the file contents.
// do computations on the data
}catch(IOException e){
e.printStackTrace();
}
finally{
//close the files
}
}
, который из этих двух лучше кодирования практика? Также должен быть окончательно заблокирован после того, как попытайтесь поймать или его можно поместить ближе к концу.
метод 2, потому что вам, вероятно, нужны данные, если вы хотите выполнять вычисления на нем. – Breavyn
Вызов 'e.printStackTrace()' в блоке 'catch' - это * не * обработка исключения. Это классический [try/catch/ignore anti-pattern] (http://c2.com/cgi/wiki?EmptyCatchClause). – Asaph
Я бы поставил только то, что должно быть в попытке поймать внутри try catch. Чтение файла приведет к исключению, поэтому Id поставил это в try catch. Если ваши вычисления выполняются, то помещайте их в отдельный try catch, если нет, перемещайте их снаружи. Таким образом, я рекомендую код 1 – user489041