КомпјутериПрограмирање

Јава: изузетака и њихово руковање

Сваки програм ће радити стабилно само уколико је изворни код Отклањање грешака, а не постоје услови који могу изазвати непредвиђене ситуације. Процес хватање евентуалних грешака врши се на сцени програмирања. Да би то урадили, програмер узима у обзир све очекиване резултате и покушава да ограничи утицај на грешке, тако да се не може утицати на функционисање програма, или довести до колапса.

Када ти треба руковање изузецима

У Јави, изузетак може бити изазвана неисправним улаз корисника, нема потребе за ресурс или изненадног мреже искључења програма. За удобно коришћење створио апликације програмер, морате контролисати појаву ванредним ситуацијама. Потрошач не би требало да сачекамо да напусти апликацију, да изгуби податке, као резултат једног Унхандлед Екцептион, или само део појави се порука да нешто није у реду.

Руковање Јава изузетке

Шта треба узети у обзир? Јава језик има своју уграђену функционалност изузетак руковање. Наравно, велики проценат грешке је ухваћен од стране друге компилације фази, систем ће аутоматски обавештава да је употреба више није могуће. Али постоји овакав изузетак који се јавља у рунтиме. Инвеститор треба да буде у стању да то предвиде и да дизајнира код тако да не проузрокује грешку, и рукује се на посебан начин и предати контролу у другу грану.

У Јави, то је наметнута од стране компајлер да ухвати изузетак, па су познати типични проблеми и имају стандардне вежбања образаца.

типични изузеци

Најједноставнији пример, у којима можете добити изузетак - ту поделу. Упркос својој једноставности, у смислу, као преградом, може да буде нула, што ће довести до грешке. Па, ако је могуће предвидети појаву прошлости и спречити. Али ова опција није увек доступна, тако да ухвати изузетак треба организовати директно у случају "поделе са нулом".

Јава механизам за пресретање грешку обраду изгледа овако:

  • хеап изузетак објекат креира, као и било која друга;
  • природан ток програма је прекинут;
  • искључење механизам покушава да пронађе алтернативни начин за наставак код;
  • Пронађите безбедно извршење програма у процесору, рад или обновљена, или ће се десити реализацију осим на посебан начин.

Најједноставнији пример стварања грешку може да изгледа овако:

ако (а == нула)

тхров нев НуллПоинтерЕкцептион ();

Овде, променљива а се проверава на иницијализацију, односно, није ли је позивање на нулл објекат. Ако се ова ситуација је настала и треба посебно руковање, изузетак је бачен од убацивања новог НуллПоинтерЕкцептион ().

Неколико детаља о кључним речима

Када је реч о изузецима често је потребно да користите Јава кључне речи да се односи на одређене акције. Овај језик њихове пет програма:

  • Пробајте. Ова кључна реч је већ упознао, а то значи прелаз на делу кода који може избацити изузетак. Блоцк ограничене протеза {}.
  • Улов. То пресретне жељени тип изузетка и руковање га на одговарајући начин.
  • Коначно. Ова кључна реч је опциони и користи се за обављање одређеног део кода, која је ионако потребна, чак и ако није изузетак није ухваћен. Додао непосредно након три блока.
  • Тхров - омогућава да креирате Јава изузетке са било ког места.
  • Баца - кључна реч која се налази у метода потпис. То значи да следећи код може избацити изузетак од овог типа Јава. Ова ознака служи као сигнал за инвеститоре који треба имати на уму - метод не може да ради као што се очекује од њега.

Цатцхинг а три

Издање на Јава изузецима, наравно претпоставља да ће се руковати на посебан начин. Најпогоднији начин да се то уради, ако је део кода је ограђен у блоку. Који може да садржи изузетак. Када покренете овај код, виртуална машина наћи неочекивану ситуацију, схватити да постоји критична блок и трансфери контролу на станицу са обрадом.

Јава код је умотана у посебном блоку покушају, у оквиру које може бити изузетак. Дакле, ставио неколико непредвиђене ситуације које ће бити ухваћен на истом месту, а не расползаиас код.

Најчешћи код јединици за обраду је следећи:

три {

// Овде је неки код који може генерисати изузетак

} Цатцх (Тип_исклиуцхенииа_1 идентификатор_1) {

// Овде постоји изузетак руковање, према врсти и условима;

} Цатцх (Тип_исклиуцхенииа_2 идентификатор_2) {

// Овде постоји изузетак руковање, према врсти и условима;

}

Кључна реч за улов пише да код, и скенира га за изузетак, да буду третирани као што је описано у наставку, под условом да је у складу са својом типа. Идентификатор може да се користи у обради код блока као аргументе.

коначно

Као што је постало јасно из претходног поглавља, цатцх блокова ухвати изузетке и обрађује их. Али врло често ситуација настаје када треба покренути неки код, без обзира на то да ли су ухваћени грешке. За ово постоји кључна реч коначно. Користи се за повећање вредности различитих шалтера, затварање датотеке или мрежне везе.

Ово земљиште представља неколико цатцх блокова измислили методе ухвати изузетке. На пример, код садржан у покушају генерише неочекивану ситуацију тако што Цолд. Затим, конзола ће бити приказан израз «Цаугхт хладно!» А «Да ли је то нешто повода за?». То јест, коначно блок се извршава у сваком случају.

У ствари, начин да се избегне ов коначно ту. Он је повезан са завршетком виртуелне машине. Пронађи како га имплементирати, могуће је на интернет отвореним просторима.

Баци кључна реч

Тхров генерише изузетак. Њена синтакса је следећа:

тхров нев НевЕкцептион ();

Ту се ствара нови изузетак у односу на тип НевЕкцептион (). Као нека врста може да се користи већ укључен у стандардним класама Јава библиотека и претходно дефинисано од стране произвођача из властите производње.

Овај пројекат је део описа било којом методом, која је позив онда би требало да се догоди унутар три блока, како би могли да га пресретне.

Кључна реч баца

Шта ако у процесу развоја ситуације у којој се метода може да баца изузетак, али нису у стању да правилно рукује. У том смислу, у методи потпис прецизира реч бацања и тип могућих изузетака.

Ова ознака је нека врста индикатора за програмере клијента да метод није у стању да управљају својим исти изузетак. Осим тога, ако је тип грешка проверио, онда компајлер ће приморати изричито траже.

Покушајте ресурсима

Јава верзија 7 програмери су укључени велики иновацију, као третман три блока са ресурсима.

Многи објекти су створили у Јави, након употребе треба затворити да се очувају ресурси. Раније је морао да узме у обзир и ручно зауставити те случајеве. Сада, међутим, они су се појавили АутоЦлосабле интерфејс. То помаже да се аутоматски затворити већ користе објекте који се налазе у три блоку. Кроз овај приступ је постало више прикладан за писање кода у његово очитавање је значајно повећан.

Сопствени класе Јава изузетке

Творци описаног програмског језика узео у обзир многе аспекте врсте дизајна у ванредним ситуацијама. Међутим, све опције за спречавање исход догађаја неће радити, тако да на Јави спроводи способност да дефинишу своје изузетке, она одговара потребама одређеног кода.

Најједноставнији начин да се створи - да наследи од највише одговара контексту објекта.

Ту се догодило да наследи од изузетка, класу која се користи за дефинисање своје изузетке. У МиЕкцептион има два конструктора - подразумевана, други - са аргументом типа пор Стринг.

Затим, у јавности с пуним ФуллЦонструцторс спроводи поступак Ф, који садржи потпис баца МиЕкцептион. То кључна реч значи да је ф може бацити као Ава МиЕкцептион изузетка. Даље, у методи телу произвела текстуалне информације излаз на самој конзоли и стварног генерације МиЕкцептион, од бацања.

Други метод је нешто другачија од прве да када креирате изузетак, је донешен параметар стринг, који ће се одразити на конзоли у хватању. У главном, јасно је да ф () и г () су смештени у проверу три и кључна реч улов конфигурисан за снимање МиЕкцептион. Резултат прераде је да прикаже поруку о грешци на конзоли:

Тако је дошло до додати Јава изузетке, од сопствене руке.

arhitektura изузеци

Као и са свим објектима у Јави, изузеци су такође наследили и имају хијерархијску структуру. Корен елемент свих грешака бачене на овом програмском језику је класа јава.ланг.Тхровабле. Наследио од њега две врсте - Грешка и изузетака.

Грешка - сигнализира критичну грешку и није означено Јава изузеци. Пресретање и обраду таквих података у већини случајева јавља у фази пројектовања и нема потребу увођења у завршној коду апликације.

Најчешће коришћена класа за креирање и анализу изузетке је изузетак. Који, заузврат, подељен је у неколико грана, укључујући РунтимеЕкцептион. Би РунтимеЕкцептион су рунтиме изузеци, то јест, јавља током програма. Све класе изведене из ње су се не могу проверити.

Често постоје изузеци

У Јава изузетке, листа који је представљен у наставку, се најчешће користи, тако да треба да опише сваки од њих детаљно:

  • АритхметицЕкцептион. Ово укључује грешке у вези са аритметичке операције. Најочигледније пример - подела од нуле.
  • АрраиИндекОутОфБоундсЕкцептион - жалба број арраи елемент који превазилази укупно његове дужине.
  • АрраиСтореЕкептион - покушај да доделите некомпатибилну тип елемента низа.
  • ЦлассЦастЕкцептион - покушај да се погрешан једну врсту у другу.
  • ИллегалАргументЕкцептион - користећи погрешан аргумент у позива методе.
  • НегативеАрраиСизеЕкцептион - изузетак када креирате низ негативних величине.
  • НуллПоинтерЕкцептион - злоупотреба референци нулл.
  • НумберФорматЕкцептион - настаје када је погрешан конверзија низ са целим.
  • УнсуппортедОператионЕкцептион - операција није подржана.

Ови примери представљају врсте непроверених Јава изузетака. Али тако лоок проверено:

  • ЦлассНотФоундЕкцептион - класа није пронађена.
  • ИллегалАцццессЕкцептион - ограничити приступ класе.
  • ИнтерруптедЕкцептион - прекид протока.
  • НоСуцхФиелдЕкцептион - нема обавезно поље.

Тумачење изузетака

Говорећи о често срећу изузетака треба имати у виду да је њихово тумачење у дизајну, може се погрешно сматра. Следећа је кратка листа објашњава детаљније, гдје може бити неочекивани ситуација.

НуллПоинтерЕкцептион. Већ први случај када постоји изузетак, да апелујемо на референце на објекат који је једнак нулл. Она такође обухвата поступке нула класе степена. НуллПоинтерЕкцептион могу бити одбачени у случају добијања једнаке дужине нулл низ. Да би се избегле овакве ситуације ће повремено проверавати сајтове на нулл.

АрраиИндекОутОфБоундсЕкцептион. Сваки програм не може постојати без употребе низова. Сходно томе, често прибегавање њега могу да створе и грешке. Изузетак се јавља када програмер покуша да приступи елемент низа који није на листи индекса. На пример, захтевао вредност изнад или испод нулте дужине. Врло често је последица чињенице да у низу почиње са резултатом нула.

налази

Руковање Јава изузетке - моћан алат окружење, што увелико олакшава рад програмера и омогућава му да се створи чиста и лишена грешака у коду. О томе како несметано и стабилно функционисање апликације зависи од статуса и угледа програмера.

Наравно, у мање или више једноставнијих програма у траг ненормалне ситуације много лакше. Али у великим аутоматизованих комплексима за неколико стотина хиљада линија је могуће само као резултат дуготрајног тестирања и дебуггинг.

За Јава екцептион грешке из којег настају у неким апликацијама, неке компаније нуде награду када сматрају ентузијасте. Посебно цени од оних које изазивају повреду софтвера безбедносне политике.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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