Реферат Жумагазин Асет втипо 21-12



Дата14.12.2022
өлшемі17.56 Kb.
#467235
түріРеферат
8 зертханалық


Реферат
Жумагазин Асет ВТиПО 21-12
Тақырыбы:ерекше жағдайларды өңдеу түсінігі

Көбінесе бағдарламаны орындау кезінде қателер орын алуы мүмкін. Олардың кейбіреулерін алдын-ала білу немесе болжау қиын, ал кейде мүлдем мүмкін емес. Мысалы, файлды жіберу кезінде желілік қосылыс кенеттен үзілуі мүмкін. Ұқсас жағдайлар ерекше жағдайлар деп аталады.


Java тілі осындай жағдайларды шешуге арналған арнайы құралдарды ұсынады. Осындай құралдардың бірі – try…catch…finally. Егер try блогында ерекше жағдай пайда болса, басқару осы ерекше жағдайды орындай алатын catch блогына өтеді. Егер мұндай блок табылмаса, пайдаланушыға жіберілмеген ерекшелік туралы хабарлама көрсетіледі және бағдарламаны одан әрі орындау тоқтатылады. Мұндай тоқтау орын алмайтындай етіп, try..catch блогын пайдалану керек. Мысалы
Int[] numbers = new int[3];
Numbers[4]=45;
System.out.println(numbers[4]);
Біздің numbers массивінде тек 3 элемент болуы мүмкін, өйткені numbers [4] = 45 нұсқауларын орындаған кезде консоль ерекшелік шығарады және бағдарлама аяқталады. Енді осы ерекшелікті қарастырайық:
Try{
Int[] numbers = new int[3];
Numbers[4]=45;
System.out.println(numbers[4]);
}
Catch(Exception ex){
Ex.printStackTrace();
}
System.out.println(«Программа аяқталды
Try…catch блогын қолданған кезде, ең алдымен, try және catch нұсқалары арасындағы барлық нұсқаулар орындалады. Егер try блогында ерекше жағдай кенеттен орын алса, онда қалыпты орындау тәртібі тоқтап, сatch нұсқауына өтеді. Сондықтан, бағдарламаның орындалуы numbers[4] = 45; жол нөмірлеріне жеткенде, бағдарлама тоқтап, catch блогына өтеді.
Catch өрнегінде келесі синтаксис бар: catch (ерекше_типі айнымалы_аты). Бұл жағдайда еx айнымалысы жарияланады және ол Expression типіне жатады. Бірақ егер ерекшелік сatch мәлімдемеде көрсетілген түрден ерекшеленбесе, онда ол өңделмейді, және бағдарлама қате туралы хабарламаны қарастырмайды немесе алып тастайды.
Exception типі барлық ерекшеліктер үшін негізгі класс болғандықтан, catch (Exception ex) өрнегі барлық ерекшеліктерді орындайды. Бұл жағдайда ерекше жағдай Exception класында анықталған printStackTrace() әдісін қолдана отырып, консольге қателіктер тізбегін жинауды азайтуға мүмкіндік береді.
Catch орындау аяқталғаннан кейін, бағдарлама блоктаудан кейінгі барлық нұсқауларды орындау арқылы жұмысын жалғастырады.
Жағдайларды өңдеген кезде оларды қарастырмауға болады. Finally блогы кез-келген жағдайда орындалады, егер try блогында ерекше жағдай орын алған болса да:
Try{
Int[] numbers = new int[3];
Numbers[4]=45;
System.out.println(numbers[4]);
}
Catch(Exception ex){
Ex.printStackTrace();
}
Finally{
System.out.println(«Блок finally»);
}
System.out.println(«Программа аяқталды»);
Бірнеше ерекшеліктерді өңдеу. Java-да көптеген ерекше жағдайлар бар, және біз оларды қосымша блоктарды қосу арқылы ажырата аламыз:
Int[] numbers = new int[3];
Try{
Numbers[6]=45;
Numbers[6]=Integer.parseInt(«gfd»);
}
Catch(ArrayIndexOutOfBoundsException ex){
System.out.println(«Выход за пределы массива»);
}
Catch(NumberFormatException ex){
Throw операторы. Бағдарламадағы ерекше жағдайлардың орындалуы туралы есеп беру үшін throw операторын пайдалануға болады. Яғни, осы оператордың көмегімен біз ерекше жағдай жасай аламыз және оны орындау процесінде атай аламыз. Мысалы, біздің бағдарламада нөмір енгізілген, және егер оның саны 30-дан асқан болса, ерекшелік бар:
Package firstapp;
Import java.util.Scanner;
Public class FirstApp {
Public static void main(String[] args) {
Try{ Scanner in = new Scanner(System.in);
Int x = in.nextInt();
If(x>=30){
Throw new Exception(«Число х должно быть меньше 30»);
}
}
Catch(Exception ex){
System.out.println(ex.getMessage()); }
System.out.println(«Программа завершена»); } }
Ерекше кластар. Барлық ерекшеліктер үшін базалық класс – бұл Throwable класы болып табылады. Одан екі класс мұра болды: Error және Exception. Барлық қалған кластар осы екі кластан алынған.
Error класы Java жұмыс уақытындағы ішкі қателерді сипаттайды. Бағдарламалаушының мұндай қателіктерді өңдеудің мүмкіндігі шектеулі.

Ерекшеліктердің өзі Exception класынан мұра болып табылады. Осы ерекшеліктер арасында RuntimeException класын бөліп көрсету керек. RuntimeException – тексерілмеген ерекшеліктер деп аталатын топтың базалық класы – компилятор бұл ерекшеліктердің өңделмегенін тексермейді және әдіс декларациясындағы throws бас тартуға болады. Мұндай ерекшеліктер программистінің қателіктерінің нәтижесі, мысалы, түрлендірудің қате түрі немесе массив элементтер санынан асып кету.Мұнда ерекшелік объектісін құру үшін ерекше жағдай туралы хабарлама жіберілетін Exception класының конструкторы қолданылады. Егер х саны 29-дан асатын болса, ерекшелік алынып тасталады және catch блогына өтеді.


Catch блогында біз getMessage() әдісін қолдана отырып ерекше жағдай туралы хабарлама аламыз.

Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет