Junior
Java proqramlaşdırma dilində finally bloku nə üçün istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da finally bloku, try və ya catch bloklarında istisna atılıb-atılmamasından asılı olmayaraq, mütləq icra olunması lazım olan kodu icra etmək üçün istifadə olunur.
finally-nin əsas məqsədləri:
- Resursların azad olunması: Faylları, şəbəkə bağlantılarını, verilənlər bazalarını və digər resursları
tryblokunda bağlamaq. Bu, səhvlər olsa belə, resursların açıq qalmasının qarşısını alır. - Təmizləmə: Əməliyyatların sonunda, məsələn, tranzaksiyaların ləğvi və ya mutexlərin açılması kimi, son hərəkətləri yerinə yetirmək.
- Mütləq yerinə yetirilməsi lazım olan əməliyyatlar: Hər hansı bir nəticədən asılı olmayaraq, əməliyyatın sonunda yerinə yetirilməli olan kod.
Nümunə:
try {
// İstisna ata bilən kod
FileReader file = new FileReader("myfile.txt");
// ... fayl ilə işləmək
} catch (FileNotFoundException e) {
// İstisna ilə işləmə
System.err.println("Fayl tapılmadı: " + e.getMessage());
} finally {
// Bu kod həmişə icra olunacaq
System.out.println("finally blokunun icrası.");
// Burada adətən resurslar bağlanır
if (file != null) { // Farz edək ki, 'file' dəyişəni xaricdə elan olunub
try {
file.close();
} catch (IOException e) {
System.err.println("Faylın bağlanmasında xəta: " + e.getMessage());
}
}
}
Əhəmiyyətli qeyd:
finallyiçindəki kod,tryvə yacatchblokundareturnistifadə olunsa belə, icra olunur.- Əgər
finally-də yeni istisna atılsa, bu,tryvə yacatchbloklarında atılmış istisnaları üstələyir. finallybloku atıla bilər, lakintryyacatchilə, ya dafinallyilə müşayiət olunmalıdır (və ya ikisi).