Junior
Java'da try-catch yapısı nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
try-catch yapısı, istisnaları işlemek için kullanılır; bu, programın normal akışını bozan olaylardır.
- try: Potansiyel olarak istisna oluşabilecek kod bloğu. Eğer
trybloğu içinde bir istisna oluşursa, bu bloğun yürütülmesi durdurulur. - catch: Belirli bir türdeki (parantez içindeki
catchsonrası belirtilen) istisna oluşursa çalışan kod bloğu. Java, uygun bircatchbloğu arar ve bulursa, bu bloktaki kod çalıştırılır. - finally (isteğe bağlı): Her durumda, istisna oluşup oluşmadığı veya yakalanıp yakalanmadığı fark etmeksizin,
try-catchbloklarından sonra her zaman çalışan kod bloğu. Kaynakları temizlemek için kullanılır (dosyaları kapatma, bağlantıları kapatma vb.).
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
// İstisna oluşturabilecek kod
int result = 10 / 0; // ArithmeticException
System.out.println("Bu satır, istisna oluşursa çalıştırılmaz.");
} catch (ArithmeticException e) {
// Belirli istisna türünün işlenmesi
System.err.println("Bir aritmetik hata oluştu: " + e.getMessage());
} catch (Exception e) {
// Diğer tüm istisnalar için genel yakalama
System.err.println("Bilinmeyen bir hata oluştu: " + e.getMessage());
} finally {
// Her zaman çalıştırılan kod
System.out.println("Finally bloğu çalıştı.");
}
System.out.println("Program, try-catch'ten sonra devam ediyor.");
}
}
try-catch ile throws arasındaki karşılaştırma:
| Özellik | try-catch | throws |
|---|---|---|
| Amaç | İstisnayı yakalamak ve işlemek | Sorumluluğu devretmek |
| Konum | Kod bloğu | Metot imzası |
| İşlem | İstisnayı yakalamak ve işlemek | İstisna atma olasılığını belirtmek |