RačunalnikiProgramiranje

Java: izjeme in ravnanje z njimi

Vsak program bo stabilno deluje le, če je debugged izvorno kodo, in ne obstajajo pogoji, da lahko povzroči nepredvidene situacije. Proces lovljenje morebitne napake se opravi na stopnji načrtovanja. Če želite to narediti, razvijalec upošteva vseh pričakovanih rezultatov in poskuša omejiti vpliv napake, tako, da ne more vplivati na delovanje programa, ali vodi do njenega razpada.

Ko se boste morda morali izjem

V Java, lahko izjema se zaradi nepravilnega vnos uporabnika povzročil, ni potrebe za vir ali nenadne programa omrežja odklop. Za udobno uporabo razvijalec aplikacije ustvarili, morate nadzorovati pojav izrednih razmerah. Potrošnik ne bi bilo treba čakati, da zaprete aplikacijo, da izgubite podatke kot posledica neobravnavane izjeme, ali pa samo del prikaže sporočilo, da je šlo nekaj narobe.

Ravnanje Java izjeme

Kaj je treba upoštevati? Java jezik ima svojo vgrajeno funkcijo ravnanje izjema. Seveda je velik delež napak ujela z drugo fazo zbiranja, bo sistem samodejno obvesti, da uporaba ni več mogoča. Vendar pa je ta vrsta izjeme, ki se pojavi v času izvajanja. Razvijalec bi moralo biti omogočeno, da jo predvideti in oblikovati kodo, tako da ni povzročil napako, in jo obravnavajo na poseben način in predajo nadzora na drugo vejo.

V Java, je ta, ki ga uvaja prevajalnik ujeti izjemo, tako značilne težave so znani in imajo standardne vadbene vzorce.

tipične izključitve

Najenostavnejši primer, v katerem lahko dobite izjemo - to delitev. Kljub svoji preprostosti, v smislu, kot delilnika, morda nič, kar bo imelo za posledico napake. No, če je mogoče napovedati pojav preteklosti in preprečiti. Toda ta možnost ni vedno na voljo, tako da lov izjema bi morala biti organizirana neposredno v primeru "razkoraka z nič".

Mehanizem Java prestreči napako predelavo izgleda takole:

  • kopice izjema objekt se ustvari, kot tudi vse druge;
  • naravni potek programa se prekine;
  • Mehanizem izključitev poskuša najti drugo pot za nadaljevanje kodo;
  • Poiščite varno izvajanje programa v procesor, dela ali obnovljena, ali bo prišlo do realizacije, razen na poseben način.

Najenostavnejši primer ustvarjanja napako lahko videti takole:

če (a == null)

vrgel novo NullPointerException ();

Tu je spremenljivka preverja na inicializacijo, kar pomeni, ni, ali je glede na ničelno objekta. Če je ta položaj pojavila in potrebujejo posebno obravnavo, je izjema vrže ga vrgel novo NullPointerException ().

Nekaj podrobnosti o ključnih besed

Ko se ukvarjajo z izjemami je pogosto treba uporabiti Java ključne besede se nanašajo na posamezne akcije. Ta jezik programiranja pet:

  • Poskusi. Ta ključna beseda je že izpolnjen, in to pomeni prehod v delu kode, ki lahko vrže izjemo. Blokiranje omejeni oporniki {}.
  • Ulov. To prestreže želeno vrsto izjem in ročaj ustrezno.
  • Končno. Ta ključna beseda ni obvezen in se uporablja za opravljanje določene del kode, ki je tako ali tako zahteva, tudi če nobena izjema niso ujeli. Dodano neposredno po try bloku.
  • Vrzi - omogoča ustvarjanje Java izjeme od kjerkoli.
  • Vrže - ključne besede, ki se nahaja v podpis metode. To pomeni, da lahko naslednje kode vrže izjemo tega tipa Java. Ta oznaka služi kot signal za razvijalce, ki jih je treba upoštevati - metoda ne more delovati, kot se pričakuje od njega.

Lov s poskusno

Sprostitev na izjeme Java, seveda predpostavlja, da se bo obravnava na poseben način. Najbolj primeren način za to, če je odsek koda ogradili v bloku. Ki lahko vsebuje izjemo. Ko zaženete to kodo, bo virtualni stroj našli nepričakovano situacijo, razumeti, da obstaja kritična blok in prenese nadzor na postajo z obdelavo.

Koda Java je ovit v poseben blok poskusu, v katerem je lahko izjema. Tako je postavil nekaj nepredvidenih situacij, ki bodo ujete na istem mestu, ne raspolzayas kode.

Najbolj tipično koda za procesno enoto je, kot sledi:

poskusite {

// Tukaj je del kode, ki lahko ustvari izjemo

} Ulov (Tip_isklyucheniya_1 identifikator_1) {

// Tukaj ni izjem, glede na vrsto in pogojev;

} Ulov (Tip_isklyucheniya_2 identifikator_2) {

// Tukaj ni izjem, glede na vrsto in pogojev;

}

Ključna beseda ulov poroča, da kodo, in skeniranje za izjemo, ki se obravnavajo, kot je opisano spodaj, pod pogojem, da je v skladu s tipom. Identifikacijska oznaka se lahko uporablja pri obdelavi kodo blok kot argumente.

končno

Kot je postalo jasno, iz prejšnjega poglavja, bloki ulova ujeti izjeme in jih obdelujejo. Toda zelo pogosto pojavlja stanje, ko bi morala teči nekaj kode, ne glede na to, ali so bili ujeti napake. Za to je ključna beseda na koncu. To se uporablja za povečanje vrednosti različnih števcev, zapiranje datoteke ali omrežne povezave.

Ta parcela predstavlja več blokov ulova izumili metode ujeti izjeme. Na primer, oznaka vsebuje poskusu ustvari nepričakovane situacije kot so hladno. Nato bo konzola prikaže izraz "Ujeti mraz!» In «Ali je to nekaj, dodaten razlog za veselje?". To pomeni, da na koncu blok se izvede v vsakem primeru.

Dejstvo je, način, da se prepreči nastanek končno tam. To je povezano z zaključkom virtualnega stroja. Poišči, kako to izvesti, je možno na internetu odprtih prostorov.

met ključne besede

Met ustvarja izjemo. Njegova sintaksa je naslednja:

vrgel novo NewException ();

Tam je ustvaril novo izjemo tipa NewException (). Kot je vrsta se lahko uporablja že vključena v standardnih razredih Java knjižnice in predhodno opredeljeno razvijalec lastne proizvodnje.

Ta načrt je del opisa na kakršen koli način, ki naj bi klic potem pride v try bloku, da bi lahko to prestrezanje.

Ključna beseda vrže

Kaj pa, če v procesu razvoja položaju, v katerem se lahko metoda vrže izjemo, vendar niso mogli ustrezno ravnati. V ta namen je v podpisu metoda določa beseda vrže in vrsto možnih izjem.

Ta oznaka je neke vrste indikator za razvijalce strank, da metoda ni sposobna izpeljati svoje enako izjemo. Poleg tega, če se preveri vrsta napak, potem prevajalnik bo prisililo izrecno prosil zanj.

Poskusite virov

V Java različica 7 razvijalci so vključeni večji inovativnosti, kot try zdravljenje bloka z viri.

Številni predmeti so v Java, ki se po treba uporabo zaprli za ohranitev naravnih virov. Prej je morala to upoštevati in te primere ročno ustaviti. Sedaj pa so se pojavili AutoClosable vmesnik. Pomaga, da se samodejno zapre že uporabljenih predmetov, danih v try bloku. S tem pristopom, je postalo bolj primeren za pisanje kode v njena berljivost znatno povečala.

Lastne razredi Java izjeme

Ustvarjalci opisanega programskega jezika so bile upoštevane številne vidike vrste oblikovanja izrednih razmer. Vendar pa vse možnosti, da se prepreči izid dogodkov ne bo delovalo, tako da v Java izvaja možnost, da opredelijo svoje izjeme, je primerno, da se za potrebe posameznega kode.

Najenostavnejši način za ustvarjanje - podedoval od najbolj primerno, da se v okviru predmeta.

Tam se je zgodilo, da podedovali od Exception, razred, ki se uporablja za določitev svoje izjeme. V MyException ima dve konstruktorje - privzeta, drugi - z argument tipa spor String je.

Nato v javnem razredu FullConstructors izvaja metodo f, ki vsebuje podpis meče MyException. Ta ključna beseda pomeni, da lahko f vrgel kot Java MyException izjemo. Nadalje, v metodi telesu proizvaja besedilnih informacij izhod same konzole in dejansko generacije MyException, ki ga je met.

Drugi način je nekoliko drugačen od prvega, da ko ustvarite izjemo, je opravila parameter niza, kar se bo odrazilo v konzolo na lov. V glavnem pa je jasno, da je f () in g () se postavi v preverjanje poskušajte ključne besede nastavljen tako, da zajame MyException. Rezultat obdelave je, da se prikaže sporočilo o napaki na konzolo:

Tako je prišel dodati Java izjeme, s svojo roko.

arhitektura izjeme

Kot pri vseh predmetih v Java, so izjeme tudi podedoval in imajo hierarhično strukturo. Koren element vseh napak vrže v tem programskem jeziku je razred java.lang.Throwable. Podedoval od njega dveh vrst - napake in Izjema.

Napaka - javi kritično napako in nepreverjene Java izjeme. Prestrezanje in obdelavo takih podatkov v večini primerov pojavlja v fazi projektiranja in ne potrebujejo uvajanja v zadnjem kodo aplikacije.

Najpogosteje se uporablja razred za ustvarjanje in analiziranje izjem je Izjema. Ki v zameno, je razdeljen na več vej, vključno RuntimeException. Z RuntimeException so med izvajanjem izjeme, to je, ki se pojavljajo med izvajanjem programa. Vsi razredi, ki izhajajo iz nje, so nepreverljive.

Pogosto obstajajo izjeme

V izjemami Java, je seznam, ki je predstavil v nadaljevanju, se uporabljajo najbolj pogosto, tako da bi morali opisati vsakega od njih podrobno:

  • ArithmeticException. Ti vključujejo napak, povezanih z aritmetičnih operacij. Najbolj očiten primer - delitev z nič.
  • Stanja ArrayIndexOutOfBoundsException - poziv za številko polja element, ki presega skupno svoji dolžini.
  • ArrayStoreException - poskus dodeliti nezdružljivo tip elementa matrike.
  • ClassCastException - poskus, da bi napačno eno vrsto za drugo.
  • IllegalArgumentException - z napačno trditev v postopku razpisa.
  • NegativeArraySizeException - izjema, ko ustvarite niz negativnih velikosti.
  • NullPointerException - zloraba sklicevanja na ničlo.
  • NumberFormatException - se zgodi, ko narobe pretvorba niza na celo število.
  • UnsupportedOperationException - operacija ni podprta.

Ti primeri predstavljajo vrste nekontroliranih izjemami Java. Ampak tako poglej preveri:

  • ClassNotFoundException - razred ni mogoče najti.
  • IllegalAcccessException - omejiti dostop do razreda.
  • InterruptedException - prekinitev pretoka.
  • NoSuchFieldException - ne obstajajo obvezno polje.

Razlaga izjem

Treba je poudariti, ko govorimo o pogosto srečujejo izjem, da se lahko njihova razlaga v oblikovanju, je treba zaznati napačno. Sledi kratek seznam pojasnjuje podrobneje, kjer lahko pride do nepričakovane razmere v.

NullPointerException. Zelo prvi primer, ko je izjema, je, da se pritoži na referenco na objekt, ki je enaka null. Prav tako velja tudi za metode razreda stopnji nič. NullPointerException lahko vrže v primeru pridobivanja enako dolžino ničelno matriko. Da bi se izognili takšnim situacijam bo občasno preveriti strani na null.

Stanja ArrayIndexOutOfBoundsException. Vsak program ne more obstajati brez uporabe nizi. V skladu s tem se lahko pogosto zatekanje k njej ustvarjajo in napake. Izjema se pojavi, ko razvijalec poskuša dostopati do array element, ki je ni na seznamu indeksa. Na primer, zahtevana vrednost je nad ali pod ničlo dolžine. Zelo pogosto je posledica dejstva, da v matriki se začne z rezultatom nič.

ugotovitve

Ravnanje Java izjeme - zmogljivo okolje orodje, ki močno olajša delo programerja in mu omogoča, da ustvarite čisto in brez napak kode. O tem, kako gladko in stabilno delovanje aplikacije je odvisen od statusa in ugleda razvijalec.

Seveda, v bolj ali manj enostavnih programov za sledenje nenormalnih razmer veliko lažje. Toda v velikih avtomatiziranih kompleksov za nekaj sto tisoč vrstic je mogoče le na podlagi dolgoročne preizkušanje in razhroščevanje.

Za Java izjeme napake, iz katerih izhajajo, v nekaterih primerih, nekatera podjetja ponujajo nagrado, ko so ugotovili, navdušence. Še posebej cenijo tiste, ki povzročajo kršitev programske opreme za varnostno politiko.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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