Sobes.tech
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:

  1. Potensiallykda istisna döredip bilýän kod try blokyna ýerleşdirilýär.
  2. Eger try blokynda istisna ýüze çyksa, bu blokdaky kod derrew togtatylýar.
  3. JVM degişli catch blokyny gözleýär, ol bu görnüşdeki istisnany işläp bilýär.
  4. Eger laýyk catch tapylsa, onuň kody ýerine ýetirilýär.
  5. Eger laýyk catch tapylmaý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.");
        }
    }
}