Sobes.tech
Junior

Java программалоо тилинде finally блогу эмне үчүн колдонулат?

sobes.tech AI

AIден жооп

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

finallyнин негизги максаттары:

  • Ресурстарды бошотуу: Файлдар, тармактык байланыштар, маалыматтар базалары жана башка ресурстарды try блогу ичинде ачканда жабуу. Бул ресурстар ката кетсе да, ачылбай калбоосун камсыз кылат.
  • Тазалоо: Аягында транзакцияларды жокко чыгаруу же mutexтерди ачуу сыяктуу акыркы аракеттерди аткаруу.
  • Мажбурий аракеттерди аткаруу: Ар кандай операциянын аягында, анын жыйынтыгынан көз карандысыз, аткарылышы керек код.

Мисал:

try {
    // Исключение чыгаруу мүмкүн болгон код
    FileReader file = new FileReader("myfile.txt");
    // ... файл менен иштөө
} catch (FileNotFoundException e) {
    // Исключениени иштетүү
    System.err.println("Файл табылган жок: " + e.getMessage());
} finally {
    // Бул код дайыма аткарылат
    System.out.println("`finally` блогу аткарылууда.");
    // Мында адатта ресурстар жабылат
    if (file != null) { // `file` сыртта жарыяланган деп эсептейбиз
        try {
            file.close();
        } catch (IOException e) {
            System.err.println("Файлды жабууда катa: " + e.getMessage());
        }
    }
}

Маанилүү эскертүү:

  • finally ичиндеги код, try же catch блокунда return колдонулса да, аткарылат.
  • Эгер finally-да жаңы исключение чыгарылса, ал try же catch блокунда чыгарылган бардык исключениелерди жоготот.
  • finally блогу пропуск кылыншы мүмкүн, бирок try catch же finally менен кошталышы керек (же экөө менен).