Несмотря на то, что уже было дано много ответов, блок finally
требуется для выполнения некоторого фрагмента кода во всех условиях, независимо от того, есть ли какое-то прерывание из-за исключения или какой-то неверный код, или вы возвращаете поток управления программой из try
block, здесь я добавляю пример для объяснения необходимости finally
block;
Предположим, вы одолжили ручку у вашего друга. Вы используете его, а затем возвращаетесь (я считаю вас джентльменом). Теперь, что бы ни случилось, вы должны вернуть ручку. Вы можете справиться с различными ситуациями и поставить самое неизбежное условие в блок finally
.
//Borrow the pen
try{
//Use the pen
}catch(StolenPen how){
//Buy new pen
}catch(InkFinished how){
//Refill the pen
}catch(SomethingWrong how){
//Buy new pen
}finally{
//Return new pen
}