Exception handling

Daraja: O'rta

Java'da xatolar ikki xil: checked (kompilyator majburlaydi — IOException) va unchecked (RuntimeException — NullPointer, IllegalArgument). try-catch-finally bilan ushlanadi. try-with-resources resursni (fayl, ulanish) avtomatik yopadi. Xatoni yutib yuborish (bo'sh catch) — eng yomon odat.

Tushuntirish

Java'da xatolar ikki xil: checked (kompilyator majburlaydi — IOException) va unchecked (RuntimeException — NullPointer, IllegalArgument). try-catch-finally bilan ushlanadi. try-with-resources resursni (fayl, ulanish) avtomatik yopadi. Xatoni yutib yuborish (bo'sh catch) — eng yomon odat.

Kod misoli

try (var reader = Files.newBufferedReader(Path.of("data.txt"))) {
    String qator = reader.readLine();
    int son = Integer.parseInt(qator);
} catch (NoSuchFileException e) {
    System.err.println("Fayl topilmadi: " + e.getFile());
} catch (NumberFormatException e) {
    System.err.println("Son emas: " + e.getMessage());
} catch (IOException e) {
    throw new RuntimeException("O'qishda xato", e);   // sabab saqlanadi
}

// O'z xatoing
class BalansYetarliEmas extends RuntimeException {
    BalansYetarliEmas(String m) { super(m); }
}

Keng tarqalgan xatolar

Mashqlar

Teglar: xato, exception

Interaktiv ko'rinish (viktorina, izohlar, tarix)