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


Жұмыс түрі: Реферат
Тегін: Антиплагиат
Көлемі: 7 бет
Таңдаулыға:
Қазақстан Республикасы білім және ғылым министрлігі
Л. Н. Гумилев атындағы Еуразия ұлттық университеті
Ақпараттық технологиялар факультеті
Ақпараттық жүйелер кафедрасы
СӨЖ
Тақырыбы: Ерекше жағдайларды программада туындату. 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 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz