RiapaMeTpbi anrmeTa


Download 399.85 Kb.
bet73/97
Sana24.12.2022
Hajmi399.85 Kb.
#1060199
1   ...   69   70   71   72   73   74   75   76   ...   97
Bog'liq
Java (Laboratoriya)

otish bo'limida istisnolarni e'lon qilish usul va chaqiruv usuliga o'tish;

  • istisnoni qo'lga olish, uni boshqa sinfga aylantirish va qaytadan tashlash.

    Birinchi yondashuvni quyidagi misolda ko'rish mumkin. Arifmetik amallar ArithmeticException turidagi istisnolarni tashlashi mumkin . Masalan :
    public void doCalc() { urinib ko'ring {
    int x = 7/0; } catch (ArithmeticException e) { String err = e.toString(); System.out.println(err);
    Agar nolga bo'linganda hisoblash xatosi yuzaga kelsa, ya'ni. istisno, keyin tegishli ob'ekt yaratiladi va boshqaruv ushbu turdagi istisnolar ishlanadigan catch blokiga o'tkaziladi, aks holda catch bloki o'tkazib yubordi.
    Ikkinchi yondashuv xuddi shu misolda ko'rsatilgan. Agar usul o'zini o'zi hal qilmaydigan istisnolarni tashlashga qodir bo'lsa, lekin buning o'rniga ishlov berishning boshqa usullariga o'tadi, u bu xatti-harakatni throws kalit so'zi bilan e'lon qilishi kerak, shunda chaqiruv usullari o'zlarini ushbu istisnolardan himoya qilishi mumkin. Qo'ng'iroq qilish usullari ushbu istisnolarni hal qilishi kerak. Bunday usulni e'lon qilish shakli:
    turi usul nomi (argumentlar ro'yxati)
    tashlaydi istisnolar roʻyxati { }
    Shu bilan birga, e'lon qilingan usulning o'zi try - catch bloklarini o'z ichiga olishi mumkin yoki ularni o'z ichiga olmaydi. Masalan, doCalc () usuli e'lon qilinishi mumkin:
    ommaviy bekor doCalc () tashlaydi ArithmeticException { int x = 7/0;
    }
    Bunday holda, doCalc () ni chaqiradigan usul istisnoni hal qiladi:
    public void myCalc(){ urinib ko'ring {
    doCalc();
    } catch (ArithmeticException e) { String err = e.toString(); System.out.println(err);
    }
    }
    Uchinchi yondashuv foydalanuvchi tomonidan belgilangan ­istisnolarni yaratish misolidan foydalanib, quyida muhokama qilinadi.
    Usul bir nechta istisnolarni hal qilishi mumkin.
    /* № 9.1 misol: ikki turdagi istisnolar bilan ishlash: TwoException . java */ sinf Ikkita istisno {

    Download 399.85 Kb.

    Do'stlaringiz bilan baham:
  • 1   ...   69   70   71   72   73   74   75   76   ...   97




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
    ma'muriyatiga murojaat qiling