Sobes.tech
Junior — Middle

Javaда ресурстарды башкаруу же операцияларды аяктоо үчүн finally блогун колдонуу кайсы учурларда ылайыктуу?

sobes.tech AI

AIден жооп

Javaда finally блогу колдонулуп жаткан коддун аткарылышын камсыз кылуу үчүн колдонулат, ал кандайдыр бир исключение болсо да, болбосо да. Бул, өзгөчө, ресурстарды бошотуу талап кылынган учурда маанилүү, мисалы, файлдар, тармактык байланыштар, агымдар.

Finally колдонуу сунушталат, эгер:

  • Ачык ресурстарды жабуу (InputStream, OutputStream, Connection ж.б.)
  • Тазалоо же абалдын кайра орнотуусун жүргүзүү
  • Ар дайым аяктоо керек болгон транзакциялар же операцияларды бүтүрүү

Мисал:

FileInputStream fis = null;
try {
    fis = new FileInputStream("file.txt");
    // файл менен иштөө
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (fis != null) {
        try {
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Модерн Java версияларында, ресурстарды автоматтык түрдө жабуучу try-with-resources колдонуу сунушталат, бирок finally башка жабуу операциялары үчүн дагы маанилүү болуп калууда.