RačunalaProgramiranje

Java: iznimke i njihova obrada

Svaki program će raditi stabilno samo ako je izvorni kod je debugiran, a ne postoje uvjeti koji mogu uzrokovati nepredviđene situacije. Proces hvatanja moguće propuste provodi se na programskom pozornici. Da biste to učinili, programer uzima u obzir sve očekivane ishode i pokušava ograničiti učinak pogreške, tako da se ne može ometati rad programa, ili dovesti do njegove propasti.

Kada ćete morati iznimka rukovanje

U Java, iznimka mogu biti uzrokovani neispravnim korisničkog unosa, nema potrebe za resursima ili iznenadne mreže isključenje programa. Za ugodno korištenje stvorio aplikacija, mora kontrolirati pojavu izvanrednim situacijama. Potrošač ne bi trebali čekati da zatvorite program, izgubiti podatke kao rezultat je neobrađeni izuzetak, ili samo dio pojavit će se poruka u kojoj se navodi da je nešto pošlo po zlu.

Rukovanje Java iznimke

Što uzeti u obzir? Java jezik ima svoju funkcionalnost ugrađenog iznimka rukovanje. Naravno, veliki postotak pogreške je uhvaćen od strane druge kompilacije fazi, sustav će automatski obavijestiti da upotreba to više nije moguće. No, tu je ova vrsta izuzetka koja se javlja za vrijeme izvođenja. Programer bi trebao biti u mogućnosti to predvidjeti i oblikovati kod tako da to nije uzrok pogreške, a obrađuju ga na poseban način i predati kontrolu na drugu granu.

U Java, to se nameće prevodilac uhvatiti izuzetak, pa su tipični problemi su poznati i imaju standardne obrasce za vježbanje.

tipični isključenja

Najjednostavniji primjer, u kojem možete dobiti izuzetak - takvu podjelu. Unatoč svojoj jednostavnosti, u smislu, kao šestar, može biti nula, što će dovesti do pogreške. Pa, ako je moguće predvidjeti pojavu u prošlosti i spriječiti. No, ta opcija nije uvijek dostupna, tako uhvatiti izuzetak treba organizirati izravno u slučaju „podijeli s nulom”.

Java Mehanizam za presretanje pogrešku obradu izgleda ovako:

  • gomila iznimka predmet je stvorio, kao i bilo koji drugi;
  • prirodni tijek programa je prekinuto;
  • Mehanizam isključenje pokušava pronaći alternativni način da i dalje kod;
  • Naći sigurno izvršenje programa u procesoru, na poslu ili obnovljena, ili će se dogoditi realizaciju iznimke na poseban način.

Najjednostavniji primjer stvaranja greška može izgledati ovako:

Ako (a == null)

baciti novo NullPointerException ();

Evo, varijablu se provjerava na inicijalizacije, tj Nije li pozivanje na null objekta. Ako ova situacija je nastala i treba posebno rukovanje, iznimka je izbačen od strane bacanja novi NullPointerException ().

Nekoliko informacija o ključnim riječima

Kada je riječ o iznimkama je često potrebno koristiti Java ključne riječi koje se odnose na određenu akciju. Ovaj jezik svojih pet programa:

  • Pokušajte. Ova ključna riječ već upoznali, a to znači prijelaz u dijelu koda koji se može baciti iznimku. Blok ograničeno proteza {}.
  • Ulov. On presreće željenu vrstu iznimka i nositi ga na odgovarajući način.
  • Na kraju. Ova ključna riječ je obavezan i koristi se za obavljanje određenih dio koda, koji je ionako potrebna, čak i ako iznimka nije uhvaćen. Dodano neposredno nakon try bloka.
  • Baciti - omogućuje stvaranje Java iznimke s bilo kojeg mjesta.
  • Baca - ključna riječ koja se nalazi u metodi potpis. To znači da sljedeći kod može baciti iznimku ovog tipa Java. Ova oznaka služi kao signal za programere koji trebaju imati na umu - metoda ne može raditi kao što se očekuje od njega.

Hvatanje s pokušaju

Izdanje za Java iznimke, naravno, pretpostavlja se da će se postupati na poseban način. Najpogodniji način za to učiniti, ako je odjeljak kod je ograđena u bloku. Koji može sadržavati iznimku. Kada pokrenete ovaj kod, virtualni stroj će se naći neočekivano situaciju, razumiju da postoji kritična blok i transferi kontrolu na stanici s obradom.

Java koda je zamotan u posebnom bloku pokušaja, u okviru koje može biti iznimka. Dakle, on je stavio nekoliko nepredviđene situacije koje će biti uhvaćen na istom mjestu, a ne raspolzayas koda.

Najtipičniji kod da procesorska jedinica je kako slijedi:

pokušati {

// Ovdje je neki kod koji može generirati iznimku

} Ulov (Tip_isklyucheniya_1 identifikator_1) {

// Ovdje postoji iznimka rukovanje, prema vrsti i uvjetima;

} Ulov (Tip_isklyucheniya_2 identifikator_2) {

// Ovdje postoji iznimka rukovanje, prema vrsti i uvjetima;

}

Riječ ulov javlja taj kod, i skenirati ga za Iznimno, biti tretirani kao što je opisano u nastavku, pod uvjetom da je u skladu sa svojom vrstom. Identifikator može koristiti u obradi blok koda kao argumente.

napokon

Kad je postalo jasno iz prethodnog poglavlja, ulov blokovi uhvatiti iznimke i obraditi ih. No, vrlo često situacija u kojoj bi trebao pokrenuti neki kod, bez obzira da li su bili uhvaćeni pogreške. Za to postoji ključna riječ na kraju. To se koristi za povećanje vrijednosti različitih brojila, zatvaranje datoteke ili mrežne veze.

Ovo zemljište predstavlja nekoliko ulova blokova izumio metode uhvatiti iznimke. Na primjer, koda sadržane u pokušaju stvara neočekivani stanje kao što je hladno. Zatim, konzola će biti prikazana izraz «Uhvaćen hladno!» I «Je li to nešto razveseliti o?». To je, na kraju blok se izvršava u svakom slučaju.

U stvari, način da se izbjegne pokreće napokon tu. To je povezano sa završetkom virtualni stroj. Pronađite kako ga provesti, moguće je na internetskim otvorenim prostorima.

bacanje ključne riječi

Bacanje generira iznimku. Njegova sintaksa je kako slijedi:

baciti novo NewException ();

Tu se stvara novu iznimku tipa NewException (). Kao vrsta može se koristiti već uključena u standardnim Java biblioteka klasa i prethodno definirani od strane developer vlastite proizvodnje.

Ovaj dizajn je dio opisa bilo kojom metodom, koja je poziv onda bi se trebalo pojaviti unutar pokušati blok, kako bi se mogli presresti.

Riječ baca

Što ako u procesu razvoja situacije u kojoj se metoda može baciti iznimku, ali nisu u mogućnosti da obrađuju ispravno. U tu svrhu, u metodi potpis navodi riječ baca i vrsta mogućih iznimaka.

Ova oznaka je neka vrsta pokazatelja za klijenta programere da metoda nije u mogućnosti da obrađuju svoje istu iznimku. Osim toga, ako se provjerava je tip greška, onda prevodilac će prisiliti izričito pitati za to.

Pokušajte resursima

Java verzija 7 programeri su uključeni veliki inovativnost kao tretman pokušati blok s resursima.

Mnogi predmeti su stvorili u Javi, nakon upotrebe treba zatvoriti u očuvanju resursa. Prije toga je morao uzeti u obzir i ručno zaustaviti ove slučajeve. Sada su, međutim, pojavio AutoClosable sučelje. To pomaže da se automatski zatvoriti već koriste objekte smještene u try bloku. Kroz ovaj pristup je postao praktičniji za pisanje koda u čitljivost zaslona je znatno povećana.

Vlastiti klase Java iznimke

Tvorci opisanog programskog jezika uzeo u obzir mnoge aspekte vrste dizajna u hitnim slučajevima. Međutim, sve opcije kako bi se spriječilo ishod događaja neće raditi, tako da u Java provodi mogućnost definiranja svoje izuzetke, primjereno potrebama pojedinog koda.

Najjednostavniji način za stvaranje - naslijediti od najprikladnija za objekt kontekstu.

Tu se dogodilo naslijediti od iznimkom, klasu koja se koristi za definiranje vlastite iznimke. U MyException ima dva graditelja - zadanu, drugi - s argumentom tipa poruka String.

Zatim, u javnosti učionica FullConstructors provodi metodi f, koji sadrži potpis baca MyException. Ova ključna riječ znači da f može baciti kao Java MyException iznimke. Nadalje, u tijelu metode proizvela informacija izlaz tekst na samoj konzoli i stvarnog generacije MyException, po bacanja.

Druga metoda je malo drugačiji od prve da kada napravite iznimku, to je prošlo parametar string, koji će se odraziti na konzoli u lov. U glavnom, jasno je da f () i g () su smješteni u provjeru probati i ključnu riječ ulov konfiguriran za snimanje MyException. Rezultat obrade je prikazati poruku o pogrešci u konzoli:

Tako se dogodilo da dodate Java iznimke, od vlastite ruke.

arhitektura iznimke

Kao i kod svih objekata u Javi, iznimke su također naslijedili i imaju hijerarhijsku strukturu. Korijen element svih pogrešaka bačen u ovom programskom jeziku je klasa java.lang.Throwable. Naslijedio od njega dvije vrste - Greška i iznimka.

Greška - signalizira kritičnu pogrešku i neprovjerene Java iznimke. Presretanje i obradu takvih podataka u većini slučajeva javlja se u fazi projektiranja, a ne u potrebi uvođenja u završnoj aplikacijskog koda.

Klasa najčešće koristi za izradu i analizu iznimke je iznimka. Koji se, pak, je podijeljen u nekoliko ogranaka, uključujući RuntimeException. Do RuntimeException su runtime iznimke, to jest, javlja se tijekom programa. Sve klase izvedene iz nje mogu provjeriti.

Često postoje iznimke

U Java iznimke, popis koji je prikazan u nastavku, koriste se najčešće, tako da bi trebao opisati svaki od njih u detalje:

  • ArithmeticException. To su pogreške povezane s aritmetičkih operacija. Najočitiji primjer - podjela s nulom.
  • ArrayIndexOutOfBoundsException - žalba na element broj polja koja prelazi ukupno svojoj dužini.
  • ArrayStoreException - pokušaj dodijeliti vrstu nekompatibilni element polja.
  • ClassCastException - pokušaj da se krivi jedne vrste u drugu.
  • IllegalArgumentException - koristite pogrešnu tvrdnju u metodi poziva.
  • NegativeArraySizeException - iznimka kada stvoriti niz negativnih veličine.
  • NullPointerException - zloupotreba reference na nulu.
  • NumberFormatException - nastaje kada krivo niz prijelaz na cijeli broj.
  • UnsupportedOperationException - operacija nije podržana.

Ovi primjeri predstavljaju vrste označenim Java iznimke. No, tako izgleda provjeriti:

  • ClassNotFoundException - klasa nije pronađen.
  • IllegalAcccessException - ograničiti pristup klasi.
  • InterruptedException - prekid dotoka.
  • NoSuchFieldException - nema obavezno polje.

Tumačenje izuzetaka

Govoreći o najčešće korištenim iznimke treba napomenuti da je njihova interpretacija u dizajnu, može se promatrati na pogrešan način. Zatim je kratak popis objašnjavajući detaljnije, gdje može biti neočekivano situaciju.

NullPointerException. Prvi slučaj kada postoji iznimka, je apelirati na referencu na objekt koji je jednak nuli. To se također odnosi na nulu klasa primjer načina na. NullPointerException može biti bačen u slučaju dobivanja jednake dužine null polje. Kako bi izbjegli takve situacije će povremeno provjeriti mjesta na nulu.

ArrayIndexOutOfBoundsException. Bilo koji program ne može postojati bez uporabe polja. Prema tome, često pozivati na njega može generirati i pogreške. Iznimka se događa kada programer pokušava pristupiti element polja koja nije na popisu indeksa. Na primjer, tražena vrijednost iznad ili ispod nule duljine. Vrlo često je rezultat činjenice da u polju počinje s rezultatom od nule.

nalazi

Rukovanje Java iznimke - moćan alat okoliš, što uvelike olakšava rad programera i omogućuje mu da stvori čista i bez pogrešaka s kodom. O tome glatko i stabilno funkcioniranje primjene ovisi o statusu i ugledu zahvata.

Naravno, u više ili manje jednostavne programe u trag abnormalne situacije mnogo lakše. No, u velikim automatskim kompleksa za nekoliko stotina tisuća linija moguće je samo kao rezultat dugogodišnjeg rada i ispravljanje pogrešaka.

Za Java iznimke pogreške iz kojih nastaju u nekim aplikacijama, neke tvrtke nude nagradu kad smatraju entuzijasta. Posebno cijenjen od strane onih koji uzrokuju povredu softvera sigurnosne politike.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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