DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

Finally

finally bloğu, Java'da genellikle try-catch bloğu ile birlikte kullanılan bir yapıdır ve her zaman çalıştırılmasını istediğiniz kodu yerleştirmek için kullanılır. try bloğu içindeki kodlar çalıştırıldıktan sonra, bir istisna (exception) oluşsa da oluşmasa da, finally bloğu mutlaka çalışır.

Kullanım Şekli

try {
    // Hata oluşabilecek kodlar
} catch (Exception e) {
    // Hata yakalama işlemleri
} finally {
    // Mutlaka çalıştırılacak kodlar
}
Enter fullscreen mode Exit fullscreen mode

Örnek

public class FinallyExample {
    public static void main(String[] args) {
        try {
            System.out.println("Try bloğu çalışıyor.");
            int result = 10 / 0; // Bu satır ArithmeticException oluşturur.
        } catch (ArithmeticException e) {
            System.out.println("Catch bloğu çalışıyor: " + e.getMessage());
        } finally {
            System.out.println("Finally bloğu her zaman çalışır.");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Çıktı

Try bloğu çalışıyor.
Catch bloğu çalışıyor: / by zero
Finally bloğu her zaman çalışır.
Enter fullscreen mode Exit fullscreen mode

Bu örnekte, try bloğunda bir ArithmeticException oluştuğunda, catch bloğu bu hatayı yakalar ve bir mesaj yazdırır. Ancak, hata olsun ya da olmasın, finally bloğu mutlaka çalışır ve "Finally bloğu her zaman çalışır." mesajını ekrana yazar.

finally Bloğunun Kullanım Amacı

  • Kaynakları Serbest Bırakma: Veritabanı bağlantılarını kapatma, dosya kapatma gibi işlemler için kullanılır.
  • Güvenlik: Kritik kaynakların her koşulda serbest bırakılmasını sağlamak için kullanılır.

finally bloğu, return ifadesiyle çıkış yapılan durumlarda bile çalışır, ancak JVM kapanırsa (System.exit(0) gibi) finally bloğu çalışmayabilir.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay