КомпьютерлерБағдарламалау

Java: ерекшеліктер және олардың өңдеу

Кез келген бағдарлама бастапқы коды тіруге болса ғана тұрақты жұмыс істейтін болады, ал күтпеген жағдайларды тудыруы мүмкін ешқандай жағдай жоқ. ықтимал істен аулауды процесі бағдарламалау сатысында жүзеге асырылады. Бұл әрекетті орындау үшін, әзірлеуші назарға барлық күтілетін нәтижелерді алады және ол бағдарлама жұмысына кедергі, немесе оның әкелуі мүмкін емес, сондықтан қате әсерін шектеу тырысады.

Сіз ерекшелік өңдеу қажет болуы мүмкін кезде

Java жылы ерекшелік дұрыс пайдаланушы енгізу, ресурс немесе кенеттен желілік ажырату бағдарламасы үшін ешқандай қажеттілігі туындаған болуы мүмкін. Application Developer жасаған ыңғайлы пайдалану үшін, сіз төтенше жағдайлар туындаған бақылау қажет. тұтынушылық, өтініш шығу үшін күтудің қажеті жоқ тиіс Необрабатываемое алып нәтижесінде деректерді жоғалтады, немесе хабарламаның ғана бөлігі бірнәрсе дұрыс емес екенін көрсете отырып, пайда болады.

Java ерекшеліктерді ұстау

Қандай қарастыру? Java тілі өз кіріктірілген ерекшелік өңдеу функционалдық бар. Әрине, қате үлкен пайызы басқа компиляция кезеңінде туындатылады, жүйе автоматты түрде бұл мүмкін емес пайдалануға хабардар болады. Бірақ орындау кезінде орын қоспағанда осы түрі бар. әзірлеуші оны болжап және ол қате себеп, және басқа филиалына бақылау арнайы жолмен табыс етті оны өңделеді жоқ екенін, сондықтан код әзірлеуге қабілетті болуы тиіс.

Java, бұл ерекшелік ұстау үшін құрастырушы жүктелген, сондықтан әдеттегі проблемалар белгілі және стандартты жаттығу үлгілері бар.

типтік шығарулар

Бұл бөлімше - Сіз ерекшелік ала алатын қарапайым мысал. оның қарапайымдылығы қарамастан, тұрғысынан, бөлгіш ретінде, қате әкеледі, ол нөлге тең болуы мүмкін. бұл мүмкін болса, өткен пайда болжау және алдын алу. Бірақ бұл параметр әрдайым қол жетімді емес, сондықтан ерекшелік аулауды «нөл бөлуге» жағдайда тікелей ұйымдастырылуы тиіс.

өңдеу қате ұстап үшін Java механизмі осы сияқты көрінеді:

  • үйменің ерекшелік нысан құрылады, сондай-ақ кез келген өзге де табылады;
  • Бағдарламаның табиғи Әрине үзіледі;
  • алып тастау механизмі код жалғастыру балама жол табуға тырысады;
  • қауіпсіз процессор бағдарламасын орындау, жұмыс немесе қалпына келтірілген табу, немесе арнайы жолмен қоспағанда іске асыру орын алады.

қате жасау қарапайым мысал осы сияқты көрінуі мүмкін:

(А == NULL) егер

Жаңа Қақпаға: NullPointerException лақтырып ();

Мұнда, айнымалы баптандыру, яғни кезінде тексеріледі, нөлдік нысанға сілтеме ма емес. Бұл жағдай туындаған және арнайы өңдеу қажет болса, ерекшелік) (а лақтыру жаңа шын мәнінде NullPointerException арқылы тасталады.

кілт сөздер туралы аз ғана мәлімет

қоспағанда айналысатын кезде жиі нақты әрекетке қараңыз кілт сөз Java пайдалану қажет. олардың бес бағдарламалау Бұл тіл:

  • Көріңіз. Бұл сөз өзінде кездесті, және бұл ерекшелік салсаңыз болады код бөлімінде көшу білдіреді. Блок шектеулі жақшаға {}.
  • Catch. Ол қажетті ерекшелік түрін ұстап және тиісті оны өңдеуге.
  • Соңында. Бұл кілт сөз жоқ ерекшелік ауланған емес болса да, қосымша болып табылады және кез келген жағдайда қажет код белгілі бір бөлігін, орындау үшін пайдаланылады. TRY блогында кейін тікелей қосылды.
  • Throw - Кез келген жерден Java ерекшеліктерді жасауға мүмкіндік береді.
  • Ұрып - әдісі қол қою орналасқан кілт сөзді. Ол мынадай коды осы түріне Java туралы ерекшелік салсаңыз болады дегенді білдіреді. Бұл белгі түрі болуы қажет әзірлеушілер үшін сигнал ретінде қызмет етеді - оған күтілгендей әдісі жұмыс істей алмайды.

көріңіз бар аулауды

Java ерекшеліктерге босатыңыз, әрине, ол арнайы жолмен өңделеді болады деп болжайды. коды бөлім блогында қоршалған болса, мұны ең ыңғайлы жолы. Қандай ерекшелік болуы мүмкін. Сіз осы кодты іске кезде, виртуалды машина, күтпеген жағдайды таба өңдеу станциясына сыни блок және аударымдар бақылау бар екенін түсінуге болады.

Java коды қоспағанда болуы мүмкін, оның шеңберінде арнайы блок көріңіз, ағысын. Осылайша, ол сол жерде емес, raspolzayas коды ауланған болады, бірнеше күтпеген жағдайларды орналастырылған.

төмендегідей өңдеу блогын ең типтік код:

{көріңіз

// Мұнда ерекшелік генерациялау мүмкін кейбір код

} Catch (Tip_isklyucheniya_1 identifikator_1) {

// Мұнда ерекшелік өңдеу оның түрі мен шарттарына сәйкес, бар;

} Catch (Tip_isklyucheniya_2 identifikator_2) {

// Мұнда ерекшелік өңдеу оның түрі мен шарттарына сәйкес, бар;

}

Осы сөз бойынша аулау, бұл код хабарлайды, және төменде сипатталған ретiнде қарастырылуы керек, ерекшелік оны сканерлеу, ол оның түрі сәйкес келеді деп қарастырылмайды. идентификатор аргументтер ретінде коды блокты өңдеу пайдаланылуы мүмкін.

соңында

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

Бұл учаскесі ерекше ұстап әдістерін ойлап бірнеше аулауға блоктарын ұсынады. Мысалы, реттен қамтылған коды мұндай суық сияқты күтпеген жағдайды жасайды. Содан кейін, консоль Ал «нәрсе? Развеселить туралы ма» «! Простудился» көрсетіледі өрнек болады. Яғни, сайып келгенде, блок кез келген жағдайда орындалады.

Шын мәнінде, сайып келгенде, онда триггерлер болдырмау тәсілі. Ол виртуалды машинаның аяқталуымен байланысты. ол Интернет кеңістігіндегі болады, оны қалай жүзеге табыңыз.

кілт сөзді Throw

Throw ерекшелік жасайды. төмендегідей Синтаксис:

Жаңа NewException лақтырып ();

түріне NewException () жаңа ерекшелік бар құрылады. түрі ретінде пайдалануға болады, қазірдің өзінде стандартты Java кітапхана сынып енгізілген және бұрын өз өндірісінің әзірлеуші анықталады.

Бұл дизайн қоңырау содан кейін оны ұстап алады үшін, көріңіз блок ішінде орын тиіс кез-келген әдіспен, сипаттамасы бөлігі болып табылады.

Осы сөз бойынша лақтырады

Қандай әдіс ерекшелік лақтырып, бірақ дұрыс өңдеуге қабілетті емес мүмкін ахуалдың даму процесінде, егер. Осы мақсатта, әдіс қол қою сөзі ұрып және алып тастаудың мүмкін түрін көрсетеді.

Бұл жапсырма әдіс олардың сол ерекшелікті өңдеуге қабілетті емес екенін клиент әзірлеушілер үшін көрсеткіш болып табылады. қате түрі тексеріледі, егер Сонымен қатар, онда компилятор оған сұрай анық мәжбүр болады.

ресурстарды көріңіз

Java нұсқасы 7 әзірлеушілер ресурстармен емдеу көріңіз блок ретінде, ірі инновация енгізілген.

пайдалану ресурстарды сақтауға өшіру керек кейін көптеген нысандар, Java құрылады. Бұрын ол осы ескермейді және қолмен осы даналарын тоқтатуға тура келді. Енді, алайда, олар AutoClosable интерфейсін пайда болды. Бұл автоматты түрде көріңіз блок орналастырылған өзінде пайдаланылатын заттарды жабу үшін көмектеседі. Осы тәсіл арқылы ол өзінің оқылуы едәуір өсті кодты жазу ыңғайлырақ болды.

Өз Сыныптар Java ерекшеліктер

сипатталған бағдарламалау тілі жасаушылар ескере төтенше жағдайлар жобалық түрлері көптеген аспектілерін өтті. Алайда, барлық параметрлері Java өз ерекшеліктерді анықтау мүмкіндігін іске асырылып, сондықтан, іс-шаралар нәтижесі жұмыс істемейді алдын алу үшін, ол, атап айтқанда, код қажеттіліктеріне сәйкес келетін.

құру қарапайым жолы - объект тұрғыда ең қолайлы бастап мұрагерлік.

Онда ерекшелік бастап өз ерекшеліктерді анықтау үшін пайдаланылады класс мұра болды. әдепкі, екінші - - дәлел MSG типті жолы бар MyException екі құрылысшыларын бар.

Содан кейін, қоғамдық сыныптағы FullConstructors қолтаңба MyException ұрып бар әдісі F, жүзеге асырылуда. Бұл кілт сөз F Java MyException қоспағанда сияқты лақтырып болады дегенді білдіреді. Әрі қарай, әдіс органға лақтыру арқылы, консоль өзі және нақты ұрпақ MyException үшін мәтіндік ақпарат шығысын өндірді.

Екінші әдіс алып жасауыңызға кезде, ол аулау кезінде консолі көрініс табатын болады жолы параметр, жұғады деп бірінші аздап айырмашылығы. Негізгі жылы () F және G () бұл әрекет тексеру және MyException түсіру үшін бапталған кілт сөз аулаудың орналастырылады. түсінікті өңдеу нәтижесі Пульті қате туралы хабар көрсету болып табылады:

Осылайша ол өз қолымен, Java ерекшеліктерді қосу келді.

Сәулет ерекшеліктер

Java барлық объектілері сияқты, ерекшеліктер, сондай-ақ мұра және иерархиялық құрылымын бар. Осы бағдарламалау тілінде тастап барлық қателер түбірлік элемент класс java.lang.Throwable болып табылады. Қате және ерекшелік - екі түрі оған жылғы мұраланған.

Қате - сын қатені сигналдар мен Тексерілмеген Java ерекшеліктер болып табылады. Ұстап және көп жағдайда осындай деректерді өңдеу жобалау сатысында емес, қорытынды қолдану коды енгізу қажеттілігі туындайды.

ерекшеліктерді құру және талдау үшін ең жиі қолданылатын класс ерекше жағдай болып табылады. Бұл өз кезегінде, RuntimeException қоса алғанда бірнеше филиалдары, бөлінеді. RuntimeException бойынша бағдарлама барысында орын, яғни, орындау уақыты ерекшеліктер болып табылады. оған алынған барлық сыныптар тексеру мүмкін емес болып табылады.

Жиі ерекшеліктер бар

Сіз егжей-тегжейлі олардың әрқайсысы сипаттау керек, сондықтан Java қоспағанда, төменде келтірілген, ол тізімі, жиі пайдаланылады:

  • ArithmeticException. Бұл арифметикалық операциялармен байланысты қателерді қамтиды. ең айқын мысал - нөлге бөлу.
  • ArrayIndexOutOfBoundsException - оның ұзындығы жалпы асып жиым элементі санына апелляция.
  • ArrayStoreException - алаптың үйлесімсіз элемент түрін тағайындауға әрекет.
  • ClassCastException - басқа дұрыс бір түрін келтіру әрекеті.
  • IllegalArgumentException - әдісі қоңырау дұрыс дәлел пайдаланып.
  • NegativeArraySizeException - сіз теріс мөлшерін жиымын жасау ерекше.
  • Қақпаға: NullPointerException - нөл сілтемелер дұрыс пайдаланбау.
  • NumberFormatException - дұрыс жол түрлендіру бүтін сандардың кезде орын алады.
  • UnsupportedOperationException - операция қолдау көрсетілмейді.

Бұл мысалдар Тексерілмеген Java қоспағанда түрлерін ұсынады. Бірақ осылайша тексерді қарап:

  • ClassNotFoundException - Сынып табылған жоқ.
  • IllegalAcccessException - класс қол жеткізуді шектеу.
  • InterruptedException - ағынының үзу.
  • NoSuchFieldException - жоқ міндетті өрісті бар.

қоспағанда түсіндіру

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

Қақпаға: NullPointerException. ерекшелік бар өте бірінші жағдайда, нөлге тең объектіге сілтеме жүгінуге болады. Ол сондай-ақ нөлдік класс данасы әдістері қолданылады. Қақпаға: NullPointerException тең ұзындығы NULL жиымын алу жағдайда ұшуы болуы мүмкін. Осындай жағдайларды болдырмау үшін мезгіл-мезгіл нөл туралы сайттарды тексереді.

ArrayIndexOutOfBoundsException. Кез келген бағдарлама массивтерді қолдану өмір сүре алмайды. Тиісінше, оған жиі регресс құқығы генерациялау және қате болады. әзірлеуші индексі тізімде жоқ жиым элементі кіруге тырысады кезде Ерекшелік орын. Мысалы, сұраған құны нөлге ұзындығы жоғары немесе төмен болып табылады. Өте жиі алапта нөлге есебімен басталады фактісі нәтижесі болып табылады.

қорытындылар

Java ерекшеліктерді ұстау - айтарлықтай бағдарламашы жұмысын жеңілдетеді және оны таза және коды қателер айырылған жасауға мүмкіндік беретін қуатты құрал ортасын,. қалай тегіс және тұрақты жұмыс істейтін Application Developer мәртебесі мен абырой-беделіне байланысты.

Әрине, көп немесе аз қарапайым бағдарламаларына әлдеқайда оңай патологиялық жағдайларды қадағалауға. Бірақ бірнеше жүздеген мың желілері үшін үлкен автоматтандырылған кешендер, ол тек ұзақ мерзімді сынау және жөндеу нәтижесінде мүмкін.

Кейбір бағдарламаларда соның негізінде туындайтын Java ерекшелік қате, кейбір компаниялар олар энтузиастардың таба сыйақы ұсынамыз. Әсіресе қауіпсіздік саясаты бағдарламалық бұзуға сол арқылы жоғары бағалады.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 kk.delachieve.com. Theme powered by WordPress.