Ерекше жағдайларды программада туындату. Throw операторы


Қазақстан Республикасы білім және ғылым министрлігі

Л. Н. Гумилев атындағы Еуразия ұлттық университеті

Ақпараттық технологиялар факультеті

Ақпараттық жүйелер кафедрасы

СӨЖ

Тақырыбы: Ерекше жағдайларды программада туындату. Throw операторы

Астана 2017

Жоспар:

1. Ерекше жағдайларды программада туындату. Throw операторы.

2. Throws әдісі

3. Өз ерекше жағдайымызды жасау

Ерекше жағдайларды программада туындату. Throw операторы.

Ерекше жағдайда программада throw операторы арқылы туындатуға болады:

Throw new MyException (“ Something ‘s wrong”) ;

Мұндағы Throw сөзінен кейін ерекше жағдай класының обьектісі жазылады. Кейде бірден оператордың өзінде көрсетіледі:

Throw Arithmetic Еxception ()

Throw операторын программаның кез келген жерінде жазуға болады. Ол өзінде жазылған ерекше жағдайдың обьектісін лақтырады, ары қарай оның өңделуі Arithmetic Еxception класының ерекше жағдайын шақырғандай сияқты болады . (мысалы, нөлге бөлгендей)

Егер әдісті орындау барысында Еxception класының жағдайлары туындаса, онда программа оны try/catch/finally конструкциясының көмегімен өзі өңдеуі тиіс немесе оның анықталуына Throw Еxception1, Еxception2 . . . конструкциялары болуы тиіс.

Мысалы: ерекше жағдайларды программада Throw операторы арқылы туындату.

Class Foo extends Object{

Try {

Fis= new File InputStream(fn) ;

// бұл жерде файлдан деректер оқылады.

. . . // бұл жерде файл форматы дұрыс болмаса, ерекше жағдайды туындатамыз

Throw new InvalidFormat Exception (“Wrong format”) ;

}

Catch (File Not FoundException e ) {

// сәйкесінше ерекше жағдайды өңдеу әрекеттері орындалады }

Finally {

If(fis! =null) fis. close () ; //ашылған файлды әрқашан жабу керек

Бұл мысалдағы readFormFile() әдісінде екі ерекше жағдай туындауы мүмкін. Біріншісі қажетті файл қолжетімсіз болғанда (табылмағанда), бұл жағдай readFormFile әдісінің ішінде өңделеді. Екінші ерекше жағдай файлдың форматы дұрыс болмағанда туындайды, бұл жағдайдың өңделуі жоғарыда берілген.

Throws әдісі

Өзінде туындаған ерекше жағдайды әдістің өзі өңдемейтінін, тек оны «лақтыратынын» (Throws) білдіру үшін, әдістің тақырыбында Throws атты қызметші сөзіжәне ерекше жағдайдың класын көрсету керек.

Мысалы:

Private static voidfmetod(int n) throws ArtihmeticException{

System. out. println(“10/n”+(10/n) ) ;

}

RuntimeException класы мен оның ішкі кластарының (солардың бірі ArtihmeticException) және Error класының ерекше жағдайлары тексерілмейтіндерге жатады, олар үшін throws сөзі міндетті емес. Компилятордың бұларды тексермейтін себебі, RuntimeException класының ерекше жағдайлары программада қатенің бар екенін білдіреді. Оларды өңдеудің жалғыз жолы -программаның бастапқы кодындағы қатені түзетіп, қайта компиляциялау. Ал Error класының ерекше жағдайларының пайда болатын орындарын компиляциялау кезінде анықтау мүмкін емес. Олар программаның орындалу кезінде туындайды.

Ал тексерілетін ерекше жағдайлар программаның дұрыс құрылмағанын барлық мүмкін болатын жағдайлардың ойластырылмағанын, сипатталмағанын білдіреді.

Өз ерекше жағдайымызды жасау

Программада өзіміз туындататын ерекше жағдайды жасау үшін:

1) алдымен өзіміздің ерекше жағдайымыз туындайтын жағдайларды жан-жақты ойластырып, нақты анықтап алу керек;

2) одан соң жасалатын ерекше жағдай класының суперкласын таңдау қажет;

3) бұдан кейін өзіміз анықтайтын ерекше жағдай класы жазылады, оның аты келісім бойынша Exception сөзімен аяқталуы тиіс. Әдетте, бұл класс тек екі конструктордан және tostring() және getMessage() әдістерін қайта анықтаудан тұрады.

Мысал . Программамыздағы handle(int cipher) әдісі 0-9 аралығындағы араб цифрларын өңдесін делік, цифрлар әдіске int типті cipher аргументі арқылы беріледі. Егер cipherаргументі 0-9 диапазонынан шығып кетсе, өзіміздің ерекше жағдайымызды туындатамыз. Алдымен мұндай ерекше жағдайдың Exception кластарының иерархиясында болмауына көз жеткіземіз. Сондықтан жасайтын класымызды cipherException деп атап, оны бірден Exception класының ұрпағы етіп, кеңейтеміз.

Төмендегі программа кодында көрсетілгендей cipherException класын анықтап, оны ExceptDemo класында қолданамыз.

//Ерекше жағдай класын жасау

Class CipherException extends Exception {

Private String msg;

CipherException() {msg=null; }

CipherException(String s) {msg=s; }

Public String toString () {return “CipherException(“+ msg+ “) ; }

}

Class Except Demo {

Static public void handle(int cipher) throws CipherException {

System. out. println(“habdle() ’s beginning”) ;

if (cipher<0 cipher>9)

throw new CipherException (“”+cipher) ;

System. out. println (“handle() ’s ending”) ;

}

Public static void main (String[] args) {

try{

handle(1) ;

handle(10) ;

} catch (CipherException ce) {

System. out. println (“caught”+ce) ;

ce. printStackTrace() ;

}

}

}

Ерекше жағдайларды өңдеу үшін керек 3 тәсіл:

• әдістің try - catch блогында ерекше жағдайды «ұстап алып», өңдеу;

• тексерілетін ерекше жағдайды әдістің throws бөлігінде жариялап, оны шақырған әдіске жіберу;

• өзіміз жазған ерекше жағдайды қолдану.

Пайдаланылған әдебиеттер:

1. Андасова Б. З. Java программалау тілі, Астана, 2014.

2. Мильвидский А. М. Введение в Java, 1998. -250с.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Тауарды файлға енгізу процесі
С тілінің алфавиті
С++ тілі және оның мүмкіншіліктері
Мадияр-Құрылыс ЖШС компаниясы - Диплом алды практика
Қарапайым, графикалық және белгіленген батырмалар компоненттерін қолдану.
Бос оператор
Құрылымдық программалаудың базалық конструкциялары
Информатика бойынша сыныптан тыс жұмыстар ұйымдастыру
Информатика ( лекциялар )
Темір жол вокзалының электронды кестесін құру
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz