Sobes.tech
Middle

Кадом навъи истисно дар Java имконнопазир аст, ки бартараф карда шавад?

sobes.tech AI

Ҷавоб аз AI

Хатогӣ. Инҳо масъалаҳои ҷиддӣ мебошанд, ки дар барнома наметавонанд бо ақлона барқарор шаванд, масалан, тамом шудани хотира (OutOfMemoryError) ё пур шудани стек (StackOverflowError). Онҳо нишон медиҳанд, ки дар муҳити Java Virtual Machine (JVM) хатоҳои критикӣ рух медиҳанд.

Баръакси Exception (ки метавонад санҷида ё нонасанҷида бошад), Error бояд танҳо дар ҳолатҳои истисноӣ (масалан, дар вақти логгирӣ) гирифта шавад, на барои идома додани кори одати барнома.

Масалан:

// Ин код Error-ро нишон медиҳад,
// аммо одатан тавсия дода намешавад, ки Error дар истеҳсолот гирифта шавад
try {
    // кӯшиш барои ба вуҷуд овардани OutOfMemoryError (шояд дар асоси танзимоти JVM кор накунад)
    List<byte[]> рӯйхат = new ArrayList<>();
    while (true) {
        рӯйхат.add(new byte[1024 * 1024]); // тақсим кардани хотираи зиёд
    }
} catch (OutOfMemoryError e) {
    // Logging ё кӯшиши баста кардан
    System.err.println("Хатои критикӣ: хотираи кофӣ нест!");
    e.printStackTrace();
    // Одатан, дар ин ҷо логикаи фавқулодда барои баста кардан иҷро мешавад
}