• StdinException StdoutException TlsException WebSocketException IsolateSpawnException
  • IOException FileSystemException HttpException ProcessException SignalException
  • IsolateSpawnException TimeoutException
  • Throw bayonoti va oz istisno turlarini yaratish
  • Dart tili bo'yicha qo'llanma 1-bob. Dart tiliga kirish Dart nima. Birinchi dastur




    Download 283.65 Kb.
    bet31/35
    Sana28.02.2022
    Hajmi283.65 Kb.
    #18225
    1   ...   27   28   29   30   31   32   33   34   35
    Bog'liq
    Dart tili
    Tohirov-Odilbek-1, Тўлов топши%D, alifatik bir asosli karbon kislotalarning gomologik qatori , Asosiy qisim, 14 tayyor mahsulot, Документ Microsoft Word (2) крилллл, menejment2, yurish qismiga txk O\'MT (2), Abdullayev Jo’ra Xudoyorovich, Bayonnoma, Qurilish materiallari va byumlari, Полевые транзисторы1, жиноят ишида мавжуд хужжатлар, îáΦ¿¡á σá¼ ¼Ñσá¡¿º¼½Ñα »á¡¿¡Ñ¡ 100 ß«αáπ QQ
    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 283.65 Kb.
  • 1   ...   27   28   29   30   31   32   33   34   35




    Download 283.65 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dart tili bo'yicha qo'llanma 1-bob. Dart tiliga kirish Dart nima. Birinchi dastur

    Download 283.65 Kb.