TölvurForritun

Java: undantekningar og meðhöndlun þeirra

Hvaða forrit mun starfa stably aðeins ef kóðinn er debugged, og það eru engin skilyrði sem geta valdið ófyrirséðum aðstæðum. Ferlið að veiða mögulegar bilanir er fram á forritun sviðinu. Til að gera þetta, verktaki tekur tillit til allra ráð outcomes og tilraunir til að takmarka áhrif villa þannig að það gæti ekki trufla rekstur áætlunarinnar, eða leiða til hruns hans.

Þegar þú gætir þurft nema meðhöndlun

Í Java, undantekning getur stafað af rangri notandi inntak, engin þörf fyrir úrræði eða skyndilega net aftengingu program. Fyrir þægilega notkun búin með umsókn verktaki, þú verður að stjórna tíðni neyðartilvikum. Neytandi skal ekki þurfa að bíða eftir að hætta umsókn, að missa gögn vegna Óeðlilegt ástand, eða bara hluta af skilaboðum birtist þar sem fram kemur að eitthvað fór úrskeiðis.

Meðhöndlun Java undantekningar

Hvað á að íhuga? Java tungumál hefur eigin innbyggður-í undantekning meðhöndlun virkni þess. Að sjálfsögðu er stór hluti af villa er veiddur af öðrum samantekt stigi, kerfið mun sjálfkrafa tilkynna sem nota það er ekki lengur hægt. En það er af þessu tagi undantekningu sem kemur á afturkreistingur. Framkvæmdaraðili skal vera fær um að sjá fyrir henni og til að hanna kóða þannig að það var ekki valda villu, og meðhöndla það á sérstakan hátt og afhent eftirliti til annars grein.

Í Java, þetta er sett með þýðanda til að veiða undantekningu, svo dæmigerð vandamál eru þekkt og hafa staðlaðar æfingar mynstrum.

dæmigerð undanþágur

Einfaldasta dæmi, þar sem hægt er að fá undantekningu - þessa skiptingu. Þrátt fyrir einfaldleika sínum, hvað sem skiptaráðanda, kann að vera núll, sem mun leiða í villu. Jæja, ef það er hægt að spá fyrir um tilkomu fortíðinni og koma í veg. En þessi möguleiki er ekki alltaf í boði, svo smitandi undantekning ætti að vera skipulögð beint ef "skipta með núlli".

The Java kerfi til að stöðva vinnslu villa lítur svona út:

  • hrúga undantekning hlut er búin, eins og heilbrigður eins og allir aðrir;
  • náttúrulega auðvitað af the program er rofin;
  • útilokun kerfi er að reyna að finna aðra leið til að halda áfram kóðann;
  • Finna öruggan framkvæmd áætlunarinnar í örgjörva, vinnu eða aftur, eða mun eiga sér stað framkvæmd undantekningu á sérstakan hátt.

Einfaldasta dæmið um að búa til villur gæti litið svona út:

ef (a == null)

kasta nýju ekkert af ofangreindu ();

Hér breyta sem er merkt á frumstilling, þ.e. er ekki hvort tilvísun í núll hlut. Ef þetta ástand hefur komið og þurfa sérstaka meðhöndlun, undantekning er kastað af kasta nýju ekkert af ofangreindu ().

Nokkrar upplýsingar um leitarorð

Þegar fjallað með undantekningum er oft nauðsynlegt að nota leitarorð Java til að vísa til tiltekinnar aðgerðar. Þetta tungumál fimm forritun þeirra:

  • Reyna. Þessi leitarorð er nú þegar uppfyllt, og það þýðir umskipti í hluta af kóða sem getur kastað undantekningu. Block á ákveðnum axlabönd {}.
  • Veiða. Það rekur viðkomandi undanþágubeiðni gerð og meðhöndla það á viðeigandi hátt.
  • Loksins. Þetta leitarorð er valfrjáls og er notað til að framkvæma ákveðna stykki af kóða, sem krafist er engu að síður, jafnvel þótt engin undantekning er ekki veiddur. Bætt beint eftir try blokk.
  • Kasta - hægt að búa til Java undantekningar frá hvar sem er.
  • Kastar - leitarorð sem er sett í aðferð undirskrift. Það þýðir að eftirfarandi kóða geta kastað undantekning af þessu tagi Java. Þetta merki virkar sem merki til verktaki sem þarf að hafa í huga - aðferð getur ekki sem skyldi af honum.

Smitandi með try

Release Java undantekningar, að sjálfsögðu gert ráð fyrir að það verði meðhöndluð á sérstakan hátt. The þægilegur vegur til að gera það, ef kóðinn kafla er afgirt í blokk. Sem getur innihaldið undantekningu. Þegar þú keyrir þennan kóða, the raunverulegur vél finnur óvænt ástand, að skilja að það er mikilvægt blokk og flytja stjórn á stöðina með vinnslu.

The Java kóða er pakkað í sérstakan blokk reyna, innan sem getur verið undantekning. Þannig setti hann nokkur ófyrirséðum aðstæður sem verða gripin á sama stað, ekki raspolzayas kóða.

The dæmigerður kóða til vinnslu eining er sem hér segir:

reyndu {

// Hér er nokkur númer sem kunna að búa undantekningu

} Afli (Tip_isklyucheniya_1 identifikator_1) {

// Hér er undantekning meðhöndlun, í samræmi við gerð þess og aðstæður;

} Afli (Tip_isklyucheniya_2 identifikator_2) {

// Hér er undantekning meðhöndlun, í samræmi við gerð þess og aðstæður;

}

Leitarorð aflaskýrslum þessi númer og skanna það undantekning, að meðhöndla eins og lýst er hér á eftir, að því tilskildu að hún uppfylli gerð hennar. Auðkenni er hægt að nota í vinnslu kóða blokk sem rök.

loks

Eins og það varð ljóst af fyrri kaflanum, catch blokkir veiða undantekningar og afgreiða þær. En mjög oft ástand skapast þar ætti að keyra nokkur númer, án tillits til þess hvort þau voru gripin mistök. Fyrir þetta það er leitarorðið loksins. Það er notað til að auka gildi hinna ýmsu teljara, loka skrár eða nettengingum.

Þessi lóð kynnir nokkrar blokkir veiða fundin aðferðir veiða undantekningar. Til dæmis, kóðinn finna í try býr óvænt ástand eins og kalt. Þá, the hugga birtist tjáning «Caught kalt!» Og «Er það eitthvað til að hressa um?». Það er, að lokum blokk er framkvæmd í öllum tilvikum.

Í raun leið til að forðast að lokum þar. Það er tengt við að ljúka raunverulegur vél. Finndu hvernig á að framkvæma það, það er hægt á Netinu opin rými.

Throw leitarorð

Throw býr undantekningu. setningafræði hennar er sem hér segir:

kasta nýju NewException ();

Það er búið til nýja undanþágu til gerð- NewException (). Sem gerð er hægt að nota er þegar innifalið í stöðluðu bekkjum Java bókasafn og áður var skilgreint sem verktaki á eigin framleiðslu þess.

Þessi hönnun er hluti af lýsingu á hvaða aðferð, sem kalla ætti þá fram innan try blokk, í því skyni að vera fær um að stöðva hana.

Leitarorð kastar

Hvað ef í því ferli þróun aðstæðum þar sem aðferðin getur kastað undantekning, en eru ekki fær um að takast á réttan hátt. Í þessu skyni, í aðferð undirskrift skilgreinir orðið kastar og gerð hugsanlegra undantekningar.

Þetta merki er eins konar mælikvarði viðskiptavinur hönnuði að aðferðin er ekki fær um að takast sömu undantekningu þeirra. Þar að auki, ef villa gerð er merkt, þá þýðandinn mun neyða sérstaklega biðja um það.

Reyna að auðlindum

The Java útgáfa 7 verktaki hafa tekið stórt nýsköpun, sem meðferð try blokk með auðlindir.

Margir hlutir eru til í Java, eftir notkun ætti að leggja niður til að vernda auðlindir. Áður þurfti að taka mið af þessu og hætta þessum tilvikum handvirkt. Nú, hins vegar, virtust þeir AutoClosable tengi. Það hjálpar til við að sjálfkrafa loka þegar notuð hlutum sett í try blokk. Með þessari nálgun er orðið þægilegra að skrifa kóða í læsileiki hans er verulega aukin.

Eigin flokkum Java undantekningar

Höfundum lýst forritunarmál tók tillit til margra þátta við hönnun tegundir neyðartilvikum. Hins vegar alla valkosti til að koma í veg fyrir að niðurstaða atburða mun ekki virka, svo í Java framkvæmd getu til að skilgreina eigin undantekningar þeirra, er rétt að þörfum tiltekins kóða.

Einfaldasta leiðin til að búa til - til að erfa frá mest viðeigandi til að mótmæla samhengi.

Það gerðist að erfa frá undantekningu bekknum sem er notað til að skilgreina eigin undantekningar þinn. Í MyException hefur tvær constructors - sjálfgefið, annað - með rök skilab taginu String.

Þá, í opinbera kennslustofunni FullConstructors framkvæmda aðferð f, sem inniheldur undirskriftina kastar MyException. Þetta leitarorð þýðir að f getur kastað eins Java MyException undantekninga. Frekari, í aðferð líkamans framleitt texta upplýsingar framleiðsla á vélinni sjálfri og í raun kynslóð MyException, með kasti.

The second aðferð er örlítið frábrugðið þeirri fyrstu að þegar þú býrð til undantekning, það er liðin streng breytu, sem mun endurspeglast í vélinni í smitandi. Í helstu er ljóst að f () og g () eru sett í Prófaðu að a og leitarorð afli stillt til að handtaka MyException. Niðurstaðan vinnsla er að birta villuboð á vélinni:

Þannig kom það til að bæta við Java undantekningar, eigin hendi.

arkitektúr undantekningar

Eins og með alla hluti í Java, eru undantekningar einnig í arf og hafa valdakerfi. Rót þáttur allra villur kastað í þessu forritunarmál er flokkur java.lang.Throwable. Arf eftir hann tvær tegundir - Villa og Exception.

Villa - merki um mikilvæga villu og er hakað Java undantekningar. Hlerun og vinnslu slíkra gagna í flestum tilfellum á sér stað á hönnunarstigi og ekki þörf á að kynna í endanlegri kóða forritsins.

Algengast var flokkur að búa og greina undantekningar er undantekning. Sem síðan er skipt í nokkrum greinum, þar á meðal RuntimeException. Með því að RuntimeException eru afturkreistingur undantekningar, það er, sem kemur fram í áætluninni. Allir flokkar unnin úr henni eru unverifiable.

Oft eru undantekningar

Í Java undantekningar, lista sem er kynnt hér, eru notuð oftast þannig að þú ættir að lýsa hvert þeirra í smáatriðum:

  • ArithmeticException. Meðal þeirra eru villur í tengslum við rekstur tölur. The auðsær dæmi - deild með núlli.
  • ArrayIndexOutOfBoundsException - kæra til array þátturinn tala sem er hærri en samtals lengd þess.
  • ArrayStoreException - tilraun til að tengja ósamhæfra þátturinn gerð fylkisins.
  • ClassCastException - tilraun til að koma ranga eina tegund til annarrar.
  • IllegalArgumentException - með rangt rök í aðferð kalla.
  • NegativeArraySizeException - undantekning þegar þú býrð til fjölda neikvæð stærð.
  • Ekkert af ofangreindu - misnotkun tilvísanir á núll.
  • NumberFormatException - á sér stað þegar rangt band ummyndun til heilu tölu.
  • UnsupportedOperationException - aðgerð er ekki studd.

Þessi dæmi tákna tegundir krossað Java undantekningum. En svo líta merkt:

  • ClassNotFoundException - Class fannst ekki.
  • IllegalAcccessException - takmarka aðgang að bekknum.
  • InterruptedException - hlé flæði.
  • NoSuchFieldException - það eru engin áskilinn sviði.

Túlkun þeim undantekningum

Talandi um oft upp undantekningar skal tekið fram að túlkun þeirra á hönnun, er hægt að skynja á rangan hátt. Næst er stuttur listi útskýrir nánar, þar sem það getur verið óvænt ástand.

Ekkert af ofangreindu. The mjög fyrstur tilfelli þegar það er undantekning, er að höfða til tilvísun í hlut sem er jafn null. Það nær einnig til núll flokks dæmi aðferðum. Ekkert af ofangreindu er hægt að kastað í um er að ræða fá í sömu lengd null array. Til að forðast slíkar aðstæður mun reglulega athuga staður á null.

ArrayIndexOutOfBoundsException. Hvaða forrit getur ekki þrifist án þess að nota fylki. Í samræmi við það, sem oft grípa til þess er hægt að búa og villa. Undantekning á sér stað þegar verktaki reynir að fá aðgang að array þáttur sem er ekki í vísitölunni listanum. Til dæmis beðið gildi er fyrir ofan eða neðan núll lengd. Mjög oft er afleiðing af þeirri staðreynd að í fylkinu hefst með einkunnina núll.

niðurstöður

Meðhöndlun Java undantekningar - öflugt tól umhverfi, sem stórlega auðveldar vinnu forritara og leyfa honum að búa til hreint og skortir kóða villur. Um hvernig slétt og stöðug starfhæft umsókn fer eftir stöðu og orðspor framkvæmdaraðila.

Auðvitað, í meira eða minna einfalt forrit til að rekja óeðlilegar aðstæður miklu auðveldara. En í stórum sjálfvirkum fléttur fyrir nokkur hundruð þúsund línum það er aðeins hægt vegna langtíma prófanir og kembiforrit.

Fyrir Java undantekning villu sem myndast í sumum forritum, bjóða sum fyrirtæki verðlaun þegar þeir finna áhugamenn. Sérstaklega vel þegið af þeim sem valda brot á öryggisstefnu hugbúnaði.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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