Junior
Javaда try-catch блогу эмне жана ал кандай иштейт?
sobes.tech AI
AIден жооп
Java-da try-catch bloku, programmanyň ýerine ýetirilmegi wagtynda ýüze çykyp bilýän istisnalary (səhvləri) işlemek üçin ulanylýar. Ol ýaramly ýagdaýda näsazlyklary dolandyrmaga mümkinçilik berýär we programmaň näbelli ýapylmagynyň öňüni alýar.
Näme üçin işleýär:
- Potensiallykda istisna döredip bilýän kod
tryblokyna ýerleşdirilýär. - Eger
tryblokynda istisna ýüze çyksa, bu blokdaky kod derrew togtatylýar. - JVM degişli
catchblokyny gözleýär, ol bu görnüşdeki istisnany işläp bilýär. - Eger laýyk
catchtapylsa, onuň kody ýerine ýetirilýär. - Eger laýyk
catchtapylmaýan bolsa, istisna üsteki çagyrma yzygiderligi boýunça ýaýraýar, ýa-da programma tamamlanýar.
Birnäçe catch bloklary dürli görnüşdäki istisnalar üçin ulanylyp bilner. Şeýle hem, her zaman ýerine ýetirilen finally bloku ulanylyp bilner, ol islendik ýagdaýda ýerine ýetirilýär. Ol köplenç resurslary boşatmak üçin ulanylýar.
Mysal:
class Example {
public static void main(String[] args) {
try {
// Istisna döredip bilýän kod
int result = 10 / 0; // Nol bilen bölmek ArithmeticException döredýär
} catch (ArithmeticException e) {
// Bu blok ArithmeticException-ny tutýar
System.err.println("Ýalňyşlyk: Nol bilen bölmek rugsat edilmeýär!");
// e.printStackTrace(); // Debug üçin çagyrma yzygiderligini görkezýär
} finally {
// Bu blok hemişe ýerine ýetirilýär
System.out.println("Finally bloku ýerine ýetirildi.");
}
}
}