Mobil ilovalar ishlab chiqish



Download 387,44 Kb.
bet30/34
Sana14.01.2022
Hajmi387,44 Kb.
#363624
1   ...   26   27   28   29   30   31   32   33   34
Bog'liq
Dart tili mustaqil ish

DeferredLoadException

  • FormatException

  • IntegerDivisionByZeroException

  • IOException

  • FileSystemException

  • HttpException

  • ProcessException

  • SignalException

  • SocketException

  • StdinException

  • StdoutException

  • TlsException

  • WebSocketException

  • IsolateSpawnException

  • TimeoutException

  • DeferredLoadException

  • FormatException

  • IntegerDivisionByZeroException

  • IOException

  • FileSystemException

  • HttpException

  • ProcessException

  • SignalException

  • SocketException

  • StdinException

  • StdoutException

  • TlsException

  • WebSocketException

  • IsolateSpawnException

  • TimeoutException

    Biz ko'rib chiqmoqchi bo'lgan har bir istisno turi uchun biz blokda o'zimizni qo'shishimiz mumkin:

    1

    2

    3



    4

    5

    6



    7

    8

    9



    10

    11

    12



    13

    14

    15



    16

    17


    void main (){

          


         try{

            int x = 9;

            int y = 0;

            int z = x ~/ y;

            print(z);

        }


        on IntegerDivisionByZeroException{

             print("Обработка исключения IntegerDivisionByZeroException");

        }

        on FormatException{



             print("Обработка исключения FormatException");

        }


        print("Завершение программы");

          


    }

    Throw bayonoti va o'z istisno turlarini yaratish

    Bayonotni tashlash

    Throw iborasi bizga istisnoni to'g'ri joyga tashlashga imkon beradi. Quyidagi kodni ko'rib chiqing:

    1

    2

    3



    4

    5

    6



    7

    8

    9



    10

    11

    12



    13

    14

    15



    16

    17

    18



    19

    20

    21



    22

    23

    24



    25

    26


    void main (){

          


         try{

            Person tom = Person("Tom", -45);

            print(tom.age);

        }


        on Exception catch(e){

             print(e);

        }

        print("Завершение программы");



          

    }

     



    class Person{

        String name;

        int age = 1;

         


        Person(this.name, age){

            if(age < 1 || age > 110) {

                throw Exception("Недопустимый возраст");

            }

            else{

                this.age = age;

            }

        }


    }

    Masalan, yangi foydalanuvchi - Person sinfining ob'ektini yaratishda biz konstruktorga yoshga qarab yaroqsiz (masalan, salbiy qiymat) o'tish holatlarining oldini olishni xohlaymiz. Bunday holda, biz throw iborasi yordamida istisno yaratishimiz mumkin:

    1

    throw Exception("Недопустимый возраст");

    Xabar Istisno konstruktoriga uzatiladi, uni istisno bilan ishlashda olish mumkin.
    Shunday qilib, try blokida quyidagi qatorni bajarayotganda, istisno qilinadi:

    1

    Person tom = Person("Tom", -45);

    Va on..catch blokida siz ushbu istisnoni hal qilishingiz mumkin:

    1

    2

    3



    on Exception catch(e){

        print(e);

    }


    Catch blokidagi e argumenti bilan biz xato xabarini olishimiz mumkin. Konsol chiqishi:

    Exception: Недопустимый возраст

    Завершение программы

    O'zingizning istisnolaringizni yaratish

    O'rnatilgan Dart kutubxonasi har xil turdagi istisnolarni taqdim etadi. Biroq, ba'zi muayyan holatlar uchun biz o'z istisno turlarini yaratishni xohlashimiz mumkin. Misol uchun, yuqoridagi misolda, foydalanuvchining yoshi bilan biz barcha harakatlarni alohida istisno sifatida tartibga solishimiz mumkin. Masalan:

    1

    2

    3



    4

    5

    6



    7

    8

    9



    10

    11

    12



    13

    14

    15



    16

    17

    18



    19

    20

    21



    22

    23

    24



    25

    26

    27



    28

    29

    30



    31

    void main (){

          


         try{

            Person tom = Person("Tom", -45);

            print(tom.age);

        }


        on AgeException catch(e){

             print(e.getErrorMessage());

        }

        print("Завершение программы");



          

    }

     



    class Person{

        String name;

        int age = 1;

          


        Person(this.name, age){

            if(age < 1 || age > 110) {

                throw AgeException();

            }

            else{

                this.age = age;

            }

        }


    }

    class AgeException  implements Exception{

        String getErrorMessage() {

            return "Недопустимый возраст";

        }

    }


    Dasturning konsol chiqishi:

    Недопустимый возраст

    Завершение программы
    AgeException istisno klassi bu yerda aniqlanadi, bu Exception tipidagi interfeysni amalga oshiradi. (Aslida, biz Istisnoni amalga oshirmasdan sinfni belgilashimiz mumkin). Va bu sinf xato xabarini qaytaradigan o'zining getErrorMessage usuliga ega.
    Istisnoni ko'rib chiqishda biz xato xabarini ko'rsatish uchun ushbu usuldan foydalanishimiz mumkin:


    1

    2

    3



    on AgeException catch(e){

        print(e.getErrorMessage());

    }

    Bunday holda, catchdagi e parametri getErrorMessage usulini chaqirish mumkin bo'lgan AgeException ob'ektini ifodalaydi.



    Download 387,44 Kb.

    Do'stlaringiz bilan baham:
  • 1   ...   26   27   28   29   30   31   32   33   34




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

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish