Сегодня в колледже мы немного поговорили о try
, catch
и finally
.
Я запутался в этих двух примерах:
PrintWriter out = null;
try {
out = new PrintWriter(...); // We open file here
} catch (Exception e) {
e.printStackTrace();
} finally { // And we close it here
out.close();
}
В чем разница между закрытием файла в finally
и если мы просто сделали это следующим образом:
PrintWriter out = null;
try {
out = new PrintWriter(...); // We open file here
} catch (Exception e) {
e.printStackTrace();
}
out.close();
Этот фрагмент кода после catch всегда будет выполняться.
Можете ли вы дать мне несколько хороших примеров различий между тем, когда мы используем finally
, и когда мы помещаем код после catch? Я знаю, что, наконец, это всегда будет выполняться, но программа также будет работать после блока catch.