DatoriProgrammēšana

Java: izņēmumi un to apstrāde

Jebkura programma būs stabili darbojas tikai tad, ja pirmkods tiek debugged, un nav apstākļu, kas var izraisīt neparedzētu situāciju. Par nozvejas iespējamās neveiksmes process tiek veikts uz plānošanas posmā. Lai to izdarītu, izstrādātājs ņem vērā visus paredzamo rezultātu un mēģinājumiem ierobežot ietekmi kļūdu, lai tas nevarētu ietekmēt darbības programmas, vai arī novest pie tās sabrukuma.

Ja iespējams, jums izņēmumu apstrādi

Java, izņēmums var izraisīt nepareiza lietotāja ievadi, nav nepieciešama resursu vai pēkšņas tīkla atslēgšanu programmu. Ērtai lietošanai, ko rada pieteikumu attīstītājs, jums ir kontrolēt rašanos ārkārtas situācijās. Patērētājam nebūtu jāgaida atmest pieteikumu, zaudēt datus kā rezultātā neapstrādātu izņēmumu, vai tikai daļu no ziņojuma šķiet, norādot, ka kaut kas nogāja greizi.

Apstrāde Java izņēmumi

Kas jāņem vērā? Java valodas ir savs iebūvēts izņēmumu apstrādes funkcionalitāti. Protams, liela daļa kļūdu ir nozvejotas ar citu apkopošanas posmā, sistēma automātiski informē, ka izmantot to vairs nav iespējams. Bet tas ir sava veida izņēmumu, kas notiek runtime. Izstrādātājs jāspēj paredzēt to un lai izstrādātu kodu, lai tas neizraisīja kļūdu, un apstrādā to īpašā veidā un nodod kontroli uz citu filiāli.

Java, tas tiek uzlikts sastādītājs noķert izņēmumu, tāpēc tipiskas problēmas ir zināms, un ir standarta vingrojumu modeļiem.

tipiski izņēmumi

Vienkāršākais piemērs, kurā jūs varat saņemt izņēmums - šo sadalījumu. Neskatoties uz savu vienkāršību, izteiksmē, kā dalītāju var būt nulle, kas radīs kļūdas. Nu, ja tas ir iespējams prognozēt rašanos pagātni un novērst. Bet šī iespēja ne vienmēr ir pieejama, lai noķert izņēmumu jāorganizē tieši gadījumā "plaisu ar nulli".

Java mehānisms pārtvert apstrādes kļūdas izskatās šādi:

  • kaudzes izņēmums objekts ir izveidots, kā arī jebkuru citu;
  • dabas kursu programmas tiek pārtraukta;
  • izslēgšanas mehānisms mēģina rast alternatīvu veidu, kā turpināt kodu;
  • Atrast drošu izpildi programmā procesoru, darbā vai atjaunot, vai notiks īstenošanu izņēmuma īpašā veidā.

Vienkāršākais piemērs radot kļūdu varētu izskatīties šādi:

ja (a == null)

mest jaunu NullPointerException ();

Lūk, mainīgais A ir pārbaudīts inicializācijas, ti, nav, vai atsauci uz nulles objektu. Ja šī situācija ir radusies, un ir nepieciešama īpaša apstrāde, izņēmums ir izmet ar mest jaunu NullPointerException ().

Maz informācija par atslēgvārdiem

Kad nodarbojas ar izņēmumiem bieži ir nepieciešams, lai izmantotu atslēgvārdu Java atsaukties uz konkrētu rīcību. Šī valoda to piecu programmu:

  • Izmēģiniet. Šis atslēgvārds ir jau izpildīts, un tas nozīmē pāreju uz sadaļu kodu, kas var mest izņēmums. Block ierobežots bikšturi {}.
  • Catch. Tā pārtver vēlamo izņēmuma veids un rīkoties ar to atbilstoši.
  • Beidzot. Šis atslēgvārds ir obligāta un tiek izmantots, lai veiktu noteiktu gabals kodu, kas ir nepieciešama jebkurā gadījumā, pat tad, ja nav izņēmums nav nozvejotas. Pievienots tieši pēc mēģināšanas bloka.
  • Throw - ļauj jums izveidot Java izņēmumus no jebkuras vietas.
  • Met - atslēgvārds, kas tiek ievietots metodi parakstu. Tas nozīmē, ka šādi kodu var mest izņēmums šāda veida Java. Šī zīme kalpo kā signāls izstrādātājiem, kas jāpatur prātā, - metode var nedarboties, kā paredzēts ar viņu.

Ķeršanai ar mēģinājumu

Atlaidiet, lai Java izņēmumiem, protams pieņem, ka tas tiks apstrādāti īpašā veidā. Ērtākais veids, kā to darīt, ja kods sadaļa ir norobežota ar bloku. Kurš var būt izņēmums. Palaižot šo kodu, virtuālā mašīna atradīsiet negaidītu situāciju, saprast, ka ir kritiska bloks un nodod kontroli uz staciju ar apstrādi.

Java kods tiek ietīts īpašā bloka mēģinājumu, kurā var būt izņēmums. Tātad, viņš ievietots vairākas neparedzētas situācijas, kas tiks nozvejots vienā un tajā pašā vietā, nevis raspolzayas kodu.

Tipiskākais kods pārstrādes blokā ir šāds:

mēģiniet {

// Te ir daži kodu, kas var radīt izņēmumu

} Catch (Tip_isklyucheniya_1 identifikator_1) {

// Šeit ir izņēmums apstrādi, atbilstoši tās veidam un apstākļiem;

} Catch (Tip_isklyucheniya_2 identifikator_2) {

// Šeit ir izņēmums apstrādi, atbilstoši tās veidam un apstākļiem;

}

Atslēgvārds nozvejas ziņojumi šo kodu, un skenēt to izņēmumu, kas jāapstrādā, kā aprakstīts turpmāk, ar nosacījumu, ka tas atbilst tā tipa. Identifikatoru var izmantot apstrādājot koda bloku, kā argumentus.

beidzot

Kā tas kļuva skaidrs no iepriekšējās nodaļas, nozvejas bloki nozvejas izņēmumus un apstrādāt tos. Bet ļoti bieži rodas situācija, kurā būtu palaist kādu kodu, neatkarīgi no tā, vai tie ir nozvejoti kļūdas. Lai tas ir atslēgvārds beidzot. To lieto, lai palielinātu vērtību dažādu skaitītāju, slēdzot failus vai tīkla savienojumus.

Šis gabals piedāvā vairākas nozvejas bloki izgudroja metodes nozvejas izņēmumus. Piemēram, ietverts mēģināt kodu ģenerē negaidītu situāciju, piemēram, auksti. Tad tiks parādīts konsole izteiciens «Caught auksts!» Un «Vai tas kaut ko uzmundrināt par?». Tas nozīmē, ka beidzot bloks tiek izpildīts jebkurā gadījumā.

Faktiski, ir veids, kā izvairīties no izraisot beidzot tur. Tas ir saistīts ar pabeigtu virtuālā mašīna. Uzziniet, kā to īstenot, tas ir iespējams interneta plašumos.

mest atslēgvārds

Mest ģenerē izņēmumu. Tās sintakse ir šāda:

mest jaunu NewException ();

Ir izveidots jauns izņēmums tipa NewException (). Kā veids, var izmantot jau ir iekļauta standarta Java bibliotēkas klasēm un iepriekš noteikts attīstītājs savas produkcijas.

Šī konstrukcija ir daļa no apraksta jebkuru metodi, kuru aicinājums pēc tam notiek laikā mēģināt bloķēt, lai varētu pārtvert to.

Atslēgvārds met

Ko darīt, ja procesā attīstību situācijā, kad metode var mest izņēmums, bet nav spējīgi rīkoties pareizi. Lai to panāktu, ir metodes parakstu precizēts vārdu throws un iespējamiem izņēmumiem veidu.

Šis marķējums ir sava veida indikators klientu izstrādātājiem, ka metode nespēj apstrādāt to pašu izņēmumu. Turklāt, ja kļūda tips ir pārbaudīts, tad kompilators liks skaidri jautāt par to.

Mēģiniet resursiem

Java versija 7 izstrādātāji ir ietverts nozīmīgs jauninājums, kā ārstēšanas mēģināt bloķēt ar resursiem.

Daudzi objekti ir izveidoti Java, pēc lietošanas būtu jāslēdz, lai saglabātu resursus. Iepriekš tas bija ņemt to vērā un manuāli apturēt šos gadījumus. Tagad, tomēr, tie parādījās AutoClosable interfeisu. Tas palīdz automātiski aizvērt jau izmanto objektus izvietotos try blokā. Izmantojot šo pieeju, tas ir kļuvis daudz ērtāk rakstīt kodu tā lasāmību, ir būtiski palielinājies.

Pašu klases Java izņēmumi

No aprakstītā programmēšanas valodas veidotāji ņēma vērā daudzos aspektos dizaina veidu ārkārtas situācijām. Tomēr visas iespējas, lai novērstu rezultāts notikumu nestrādās, tāpēc Java īstenots spēju noteikt savus izņēmumus, ir lietderīgi vajadzībām konkrētā kodu.

Vienkāršākais veids, kā izveidot - mantot no vispiemērotākie objekta kontekstā.

Tur notika mantot no Izņēmums, klasi, kas tiek izmantota, lai noteiktu savu izņēmumus. Jo MyException ir divi konstruktori - noklusēto, otrā - ar argumentu msg tipa String.

Tad, sabiedriskās klasē FullConstructors īsteno metodi f, kurā parakstu throws MyException. Šis atslēgvārds nozīmē, ka f var mest tāpat Java MyException izņēmums. Turklāt, jo metodes organismā ražo teksta informācijas izvadi uz pašas konsoles un faktisko paaudzes MyException, ko mest.

Otra metode ir nedaudz atšķiras no pirmā, ka tad, kad jūs izveidot izņēmumu, tas tiek nodots virknes parametrs, kas tiks atspoguļota konsole ķeršanai. Jo galvenais ir skaidrs, ka f () un g () ievieto Mēģiniet pārbaudīt un atslēgvārdu nozvejas konfigurēta, lai attēlotu MyException. No apstrādes rezultāts ir parādīt kļūdas ziņojumu konsole:

Tātad tas bija, lai pievienotu Java izņēmumus, ar savu roku.

Arhitektūra izņēmumi

Tāpat kā ar visiem objektiem Java, izņēmumi ir mantojis, un ir hierarhiska struktūra. Visu kļūdu izmet šajā programmēšanas valodas saknes elements ir klases java.lang.Throwable. Iedzimta no viņa divu veidu - Kļūda un Izņēmums.

Kļūda - signalizē par kritisko kļūdas un nekontrolētu Java izņēmumi. Pārtveršanu un apstrādi šie dati vairumā gadījumu notiek projektēšanas stadijā un nav nepieciešams ieviest pēdējā pieteikuma kodu.

Visbiežāk izmanto klasē, lai izveidotu un analizētu izņēmumiem, ir izņēmums. Kas, savukārt, ir sadalīta vairākās nozarēs, arī RuntimeException. Ar RuntimeException ir runtime izņēmumi, tas ir, kas notiek programmas laikā. Visas nodarbības, kas iegūtas no tās ir iespējams pārbaudīt.

Bieži vien ir izņēmumi

Jo Java izņēmumiem, kuru saraksts ir sniegts zemāk, tiek izmantotas visbiežāk, tāpēc jums vajadzētu raksturot katru no tiem sīkāk:

  • ArithmeticException. Tie ietver kļūdas, kas saistītas ar aritmētiskās darbības. Visvairāk Spilgts piemērs - dalījums ar nulli.
  • ArrayIndexOutOfBoundsException - pārsūdzība masīva elementu skaitu, kas pārsniedz kopsummu tās garumā.
  • ArrayStoreException - mēģinājums piešķirt nesaderīgu elementu veidu masīva.
  • ClassCastException - mēģinājums celt nepareizu viena veida uz otru.
  • IllegalArgumentException - izmantojot nepareizu argumentu metodi zvanu.
  • NegativeArraySizeException - izņēmums, kad jūs izveidot masīvu negatīvu lielumu.
  • NullPointerException - atsauces ļaunprātīgu null.
  • NumberFormatException - notiek, ja nepareizi virkne pārvēršana skaitlim.
  • UnsupportedOperationException - darbība netiek atbalstīta.

Šie piemēri atspoguļo veidus nepārbaudītās Java izņēmumiem. Bet tā izskatās pārbaudīts:

  • ClassNotFoundException - klase nav atrasts.
  • IllegalAcccessException - ierobežot piekļuvi klasē.
  • InterruptedException - pārtraukums no plūsmas.
  • NoSuchFieldException - nav jāaizpilda obligāti.

No izņēmumu interpretācija

Runājot sastopami izņēmumi Jāatzīmē, ka to interpretācija dizains, var uztvert nepareizi. Nākamais ir īss saraksts izskaidrot sīkāk, kur var būt negaidītu situāciju.

NullPointerException. Pati pirmā lieta, ja ir izņēmums, ir pārsūdzēt atsauci uz objektu, kas ir vienāda ar nulles vērtību. Tas arī attiecas uz nulles klases piemēram metodēm. NullPointerException var izmet gadījumā iegūstot vienāda garuma null masīva. Lai izvairītos no šādām situācijām, kas periodiski pārbaudīt vietnes null.

ArrayIndexOutOfBoundsException. Jebkura programma nevar pastāvēt, neizmantojot masīvu. Tādējādi bieži to izmanto, lai var radīt un kļūdu. Izņēmums ir tad, ja attīstītājs mēģina piekļūt masīva elementu, kas nav indeksa sarakstā. Piemēram, pieprasītā vērtība ir virs vai nulles garuma zemāk. Ļoti bieži ir rezultāts tam, ka masīvā sākas ar rezultātu nulle.

secinājumi

Apstrāde Java izņēmumiem - spēcīgs instruments videi, kas ievērojami atvieglo darbu programmētāju un ļauj viņam radīt tīru un nepiemīt koda kļūdas. Par to, kā vienmērīgu un stabilu funkcionējošu pieteikumu atkarīgs statusu un reputāciju attīstītājs.

Protams, jo vairāk vai mazāk vienkāršas programmas izsekot ārkārtas situāciju daudz vieglāk. Bet lielās automatizētās kompleksu dažus simtus tūkstošus līnijās tas ir iespējams tikai kā rezultātā ilgtermiņa testēšanu un atkļūdošanu.

Par Java izņēmumu kļūda, no kuras rodas dažas lietojumprogrammas, daži uzņēmumi piedāvā atlīdzību, ja viņi atrod entuziastiem. Īpaši novērtējuši tie, kas rada pārkāpumu drošības politikas programmatūru.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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