Menu
Coddy logo textTech

Try-Catch Temelleri

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 40 / 59.

Java'da try-catch blokları, program yürütülmesi sırasında oluşabilecek istisnaları (hataları) işlemek için kullanılır. İstisna fırlatabilecek kod try bloğuna, hata işleme kodu ise catch bloğuna yerleştirilir.

İşte try-catch bloğunun temel yapısı:

try {
   // İstisna fırlatabilecek kod
} catch (ExceptionType e) {
   // İstisna işlemek için kod
}

Hadi bunu Integer.parseInt() ile görelim, bu bir String'i tam sayıya dönüştürür:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

Yukarıdaki kodu çalıştırdıktan sonra çıktı şu şekildedir:

Error: Not a valid number

challenge icon

Görev

Kolay

Üç argüman alan divideNumbers adında bir metot oluşturun:

  1. İlk sayıyı temsil eden bir String (num1)
  2. İkinci sayıyı temsil eden bir String (num2)
  3. Dizi indeksini temsil eden bir tamsayı (index)

Metot şu işlemleri yapmalıdır:

  1. 2 boyutunda bir dizi oluşturun
  2. num1'in ayrıştırılmış tamsayı değerinin num2'nin ayrıştırılmış tamsayı değerine bölünmüş değerini verilen indekste saklayın
  3. Verilen indeksteki değeri döndürün
  4. Tüm olası istisnaları uygun hata mesajlarıyla ele alın

Dönülecek mesajlar şu şekilde olmalıdır:

  • NumberFormatException için: "Error: Invalid number format"
  • ArithmeticException için: "Error: Division by zero"
  • ArrayIndexOutOfBoundsException için: "Error: Invalid array index"
  • Başarılı işlem için: sonucu string olarak döndürün

Kopya kağıdı

Try-catch blokları, program yürütülmesi sırasında oluşabilecek istisnaları (hataları) yönetir. İstisna fırlatabilecek kod try bloğuna yerleştirilir ve hata işleme kodu catch bloğuna koyulur.

Temel yapı:

try {
   // Code that might throw an exception
} catch (ExceptionType e) {
   // Code to handle the exception
}

Integer.parseInt() ile Örnek:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

Yaygın istisna türleri:

  • NumberFormatException - Geçersiz sayı formatı
  • ArithmeticException - Sıfıra bölme
  • ArrayIndexOutOfBoundsException - Geçersiz dizi indeksi

Kendin dene

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Buraya kodunuzu yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler