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'daki try-catch blokları, program yürütme 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 yazılır.

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

try {
   // İstisna fırlatabilecek kod
} catch (ExceptionType e) {
   // İstisnayı işleyecek kod
}

Bir String'i tam sayıya dönüştüren Integer.parseInt() ile bunu iş başında görelim:

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 kod yürütüldükten sonra çıktı şudur:

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. Bir dizi dizinini temsil eden bir tamsayı (index)

Metot şunları 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ümünü verilen dizinde saklayın
  3. Verilen dizindeki değeri döndürün
  4. Tüm olası istisnaları ele alın ve bunun yerine ilgili hata mesajını döndürün

Dönüş mesajları şunlar 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 bir dize olarak döndürün

Kendin dene

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // Kodunuzu buraya 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