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
Görev
KolayÜç argüman alan divideNumbers adında bir metot oluşturun:
- İlk sayıyı temsil eden bir String (
num1) - İkinci sayıyı temsil eden bir String (
num2) - Bir dizi dizinini temsil eden bir tamsayı (
index)
Metot şunları yapmalıdır:
- 2 boyutunda bir dizi oluşturun
num1'in ayrıştırılmış tamsayı değerininnum2'nin ayrıştırılmış tamsayı değerine bölümünü verilen dizinde saklayın- Verilen dizindeki değeri döndürün
- 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:
NumberFormatExceptioniçin: "Error: Invalid number format"ArithmeticExceptioniçin: "Error: Division by zero"ArrayIndexOutOfBoundsExceptioniç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));
}
}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
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme