Негізгі айырмашылық – Java тіліндегі тексерілген және белгіленбеген ерекше жағдай
Ерекшелік - орындалу қатесі. Тексерілген және тексерілмеген ерекшеліктер деп аталатын ерекше жағдайлардың екі түрі бар. Тексерілген ерекшелік орын алғанда, Java қолданбасы файл, құрылғы немесе дерекқор сияқты сыртқы ресурсқа қосылады. Бұл ерекше жағдайларды компилятор тексереді. Тексерілген ерекше жағдайлардың кейбір мысалдары IO ерекшелік және FileNotFound ерекшелік болып табылады. Тексерілмеген ерекше жағдай орын алғанда, қолданба ешбір сыртқы ресурсқа қосылмайды. Бұл ерекшеліктерді компилятор тексермейді. Тексерілмеген ерекше жағдайлардың кейбір мысалдары арифметикалық ерекшелік және ArrayOutOfBound ерекше жағдай болып табылады. Бұл мақалада Java тіліндегі тексерілген және белгіленбеген ерекшелік арасындағы айырмашылық талқыланады. Java тіліндегі тексерілген және белгіленбеген ерекше жағдайдың негізгі айырмашылығы мынада: тексерілген ерекше жағдайды компилятор тексереді, ал тексерілмеген ерекше жағдайды компилятор тексермейді.
Java тіліндегі тексерілген ерекшелік дегеніміз не?
Тексерілген ерекшелік орын алғанда, Java қолданбасы сыртқы ресурсқа қосылады. Бұл ресурс принтер сияқты құрылғы болуы мүмкін. Бұл файл немесе дерекқор болуы мүмкін. Сондықтан бұл ерекшеліктерді компилятор тексереді. IO ерекшелігі - бұл тексерілген ерекшелік. Бұл құрылғыдағы қатеге байланысты пайда болады. Қолданба жоқ файлға қатынасқанда, ол FileNotFound ерекше жағдайын тудырады. Деректерді сақтау үшін қолданба MySQL, Oracle және т.б. сияқты дерекқорға қосылуы мүмкін. Егер дерекқорға қатысты қате орын алса, ол SQL Ерекшелігі болар еді. Бұл тексерілген ерекше жағдайлардың кейбір мысалдары. Бұлардың барлығында қолданба сыртқы ресурсқа қосылған. Тексерілген ерекше жағдайларда ерекше жағдайды өңдеу міндетті болып табылады. Егер ол өңделмесе, бағдарламаның дұрыс ағыны тоқтатылады және класс файлы жасалмайды. Қатені try, catch блогы арқылы өңдеуге болады.
01-сурет: ерекше жағдайды өңдеу
Жоғарыда айтылғандарға сәйкес, FileReader файлдағы деректерді оқиды. text1.txt файлы көрсетілген жерде жоқ. Ерекшелік бере алатын код try блогының ішіне орналастырылады. Басып шығарылатын хабар catch блогының ішінде. text1.txt деп аталатын файл болмағандықтан, бұл FileNotFoundException тудырады. Ерекшеліктерді өңдеу арқылы хабар экранға басып шығарылады.
Java тіліндегі белгіленбеген ерекшеліктер дегеніміз не?
Белгіленбеген ерекшеліктерді компилятор тексермейді. Тексерілмеген ерекшеліктерден айырмашылығы, Java қолданбасы файл, дерекқор немесе құрылғы сияқты сыртқы ресурсқа қосылмаған. Кейбір жалпы тексерілмеген ерекшеліктер: Arifmetic, ArrayOutOfBound және NullPointer Ерекшеліктері.
int a=10, b=0;
int div=a/b;
System.out.println(div);
Бұл «a» нөлге сүңгуіне байланысты арифметикалық ерекшелік тудырады. Төмендегі кодты қараңыз.
02-сурет: Арифметикалық ерекшеліктерді өңдеу
Жоғарыдағы бағдарламаға сәйкес a айнымалысы бүтін мән болып табылады. b айнымалысы 0. Бұл екі санның бөлінуі нөлге бөлінді. Сондықтан ол арифметикалық ерекшелік тудырады. Оны try-catch блогы арқылы өңдеуге болады. Ерекше жағдайды тудыруы мүмкін мәлімдемелер try блогының ішіне орналастырылады. Көрсетілетін хабар ұстау блогында.
Кодтың төмендегі бөлігін қараңыз.
int массиві1={1, 2, 3, 4, 5};
System.out.println(1-массив[5]);
Бұл ерекше жағдайды тудырады. 1 массиві 5 элементтен тұратын массив болып табылады. Массивтің бастапқы индексі нөлге тең. 5th индекс мәнін басып шығару ерекше жағдайды тудырады, себебі ол шектен тыс. 1 массивінің максималды индексі 4.
03-сурет: ArrayOutOfBound ерекше жағдайды өңдеу
Жоғарыдағы бағдарламаға сәйкес 1-массивте 5 элемент бар. 6 индексі бар элементті басып шығару ерекше жағдайды тудырады, себебі ол шектелген. 1-массивте сақтауға болатын ең үлкен индекс – 5. Қате туралы хабар catch блогын орындау арқылы басып шығарылады.
Java тіліндегі тексерілген және белгіленбеген ерекше жағдайдың ұқсастығы қандай
Java тіліндегі белгіленген және белгіленбеген ерекше жағдайдың екеуі де Java тіліндегі ерекшелік түрлері болып табылады
Java тіліндегі тексерілген және белгіленбеген ерекше жағдайдың айырмашылығы неде?
Тектелген және Java тіліндегі белгіленбеген ерекше жағдай |
|
Тексерілген ерекшелік - компилятор тексеретін орындалу қатесі. | Белгіленбеген ерекшелік - компилятор тексермейтін орындалу қатесі. |
Пайда болуы | |
Тексерілген ерекшелік орын алған кезде Java қолданбасы файл, құрылғы немесе дерекқор сияқты сыртқы ресурсқа қосылады. | Белгіленбеген ерекшелік орын алғанда, Java қолданбасы сыртқы ресурсқа қосылмайды. |
Мысалдар | |
IOException, FileNotFoundException, SQLException - тексерілген ерекшеліктердің кейбір мысалдары. | Арифметикалық ерекшелік, ArrayOutOfBoundException, NullPointerException - тексерілмеген ерекше жағдайлардың кейбір мысалдары. |
Қорытынды – Java тіліндегі тексерілген және белгіленбеген ерекше жағдай
Ерекшелік - бұл бағдарлама ағынының орындалуын тоқтататын оқиға. Ерекшеліктердің екі түрі бар. Олар тексерілген ерекшеліктер және тексерілмеген ерекшеліктер деп аталады. Бұл мақалада тексерілген ерекшелік пен тексерілмеген ерекшеліктер арасындағы айырмашылық талқыланды. Java тіліндегі тексерілген және белгіленбеген ерекше жағдайдың айырмашылығы мынада: тексерілген ерекше жағдайды компилятор тексереді, ал тексерілмеген ерекше жағдайды компилятор тексермейді. Ерекшеліктер бағдарламаның дұрыс орындалуына әсер ететіндіктен, оларды өңдеу жақсы бағдарламалау тәжірибесі болып табылады.