Sobes.tech
Middle

Yoxlanılan istisnaların işlənməsi üçün hansı üsullar mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

  • try-catch blokundan istifadə edin: bu, istisnəni ələ keçirməyə və emal etməyə imkan verir, bu da proqramın qəfil bağlanmasının qarşısını alır.
  • Metodun istisna atdığını elan etmək üçün, metodun imzasında throws açar sözündən istifadə edin: bu, məsuliyyəti çağıran kodun üzərinə qoyur.
  • Yoxlanılan istisnanı yoxlanılmayan istisnaya çevirmək: bu, istisnayı açıq emal etmədən ötürməyə imkan verir, lakin real problemi gizlədə bilər.

try-catch istifadəsinin nümunəsi:

// Yoxlanılan istisnaya qarşı `try-catch` istifadə nümunəsi
try {
    // Yoxlanılan istisna ata bilən kod (məsələn, IOException)
    FileReader file = new FileReader("my_file.txt");
    // Fayl ilə işləmək...
} catch (IOException e) {
    // IOException ilə işləmək
    e.printStackTrace(); // Debug üçün çağırış yığını göstərir
    System.err.println("Fayl ilə işləmədə xəta: " + e.getMessage());
}

throws istifadə nümunəsi:

// Metod imzasında `throws` istifadə nümunəsi
public void readFile(String fileName) throws IOException {
    FileReader file = new FileReader(fileName);
    // Fayl ilə işləmək...
}

// Çağıran kod IOException-u emal etməli və ya öz `throws`-unda qeyd etməlidir
public void processFile(String filePath) {
    try {
        readFile(filePath);
    } catch (IOException e) {
        System.err.println("Fayl oxumaqda xəta: " + e.getMessage());
    }
}

Yoxlanılan istisnayı yoxlanılmayan istisnaya çevirmək nümunəsi:

// Yoxlanılan istisnayı yoxlanılmayan istisnaya çevirmək
public void unsafeOperation() {
    try {
        // Yoxlanılan istisna ata bilən kod
        throw new IOException("Nümunə IOException")
    } catch (IOException e) {
        // Yoxlanılan istisnayı yoxlanılmayan istisnaya çevirmək
        throw new RuntimeException("Əməliyyatda xəta tapıldı", e);
    }
}