PočítačeProgramovanie

Java: výnimky a manipulácia s nimi

Akýkoľvek program bude fungovať stabilne iba v prípade, že zdrojový kód je ladiť, a neexistujú žiadne podmienky, ktoré môžu spôsobiť nepredvídateľné situácie. Proces zachytenie prípadných porúch sa vykonáva na etapy programovania. K tomu, že developer berie do úvahy všetky očakávané výsledky a snaží sa obmedziť dopad chyby, takže to nemohlo zasahovať do fungovania programu, alebo môže viesť k jeho zrúteniu.

Kedy budete potrebovať spracovanie výnimiek

V Jave, výnimky môžu byť spôsobené nesprávnym vstup používateľa, nepotrebuje zdroj alebo náhleho odpojenia siete programu. Pre pohodlné používanie vytvoreného vývojár aplikácie, je nutné kontrolovať vzniku havarijných situácií. Spotrebiteľ by nemal čakať na ukončiť aplikáciu, k strate dát v dôsledku neošetrené výnimke, alebo len časť zobrazí sa správa, že sa niečo pokazilo.

Manipulácia s Java výnimky

Čo je potrebné vziať do úvahy? Java jazyk má svoju vlastnú funkciu spracovanie výnimiek vstavaný. Samozrejme, že veľké percento chýb vystihuje ďalšej fáze zostavovania, bude systém automaticky informuje, ktoré ho používajú už nie je možné. Ale je tu tento druh rozdielom, že sa vyskytuje za behu. Developer by mal byť schopný predvídať a navrhovať kód tak, aby to nemalo spôsobiť chybu, a ovládal ju zvláštnym spôsobom a odovzdali kontrolu do iného odboru.

V Jave, to je uložené kompilátor zachytiť výnimku, takže typické problémy sú známe a majú štandardné cvičenia vzory.

typické výluky

Najjednoduchším príkladom, v ktorom môžete získať výnimku - toto rozdelenie. Aj cez svoju jednoduchosť, v podmienkach, ako delič môže byť nula, čo bude mať za následok chyby. No, ak je to možné predvídať vznik minulosti a zabrániť. Ale táto možnosť nie je vždy k dispozícii, takže chytanie výnimky by mali byť organizované priamo v prípade "delenie nulou".

Java mechanizmus zachytiť chybu spracovanie vyzerá takto:

  • haldy objekt výnimka je vytvorená, rovnako ako akékoľvek iné;
  • prirodzený priebeh programu je prerušený;
  • Vylúčenie mechanizmus sa snaží nájsť alternatívny spôsob, ako pokračovať v kóde;
  • Nájsť bezpečné vykonávanie programu v procesore, v práci alebo obnovená, alebo dôjde k realizácii výnimky zvláštnym spôsobom.

Najjednoduchším príkladom vytvárania chybu môže vyzerať napríklad takto:

ak (a == null)

throw new NullPointerException ();

Tu, premenná a je kontrolovaný pri inicializácii, teda nie je, či odkaz na objekt null. Ak táto situácia nastala a potrebujú osobitné zaobchádzanie, je vyvolaná výnimka pomocou throw new NullPointerException ().

Niekoľko informácie o kľúčových slovách

Pokiaľ sa jedná o výnimky, je často nutné použiť Java kľúčové slovo sa odkazovať na konkrétnu akciu. Tento jazyk ich programovanie päť:

  • Skús to. Toto kľúčové slovo je už splnená, a to znamená, že prechod do časti kódu, ktorá môže vyvolať výnimku. Blok obmedzenej zátvorky {}.
  • Háčik. Zachytáva požadovaný typ výnimky a spracovať ju zodpovedajúcim spôsobom.
  • Konečne. Toto kľúčové slovo je voliteľná a slúži na vykonávanie určitej kus kódu, ktorý je vyžadovaný v každom prípade, a to aj v prípade, že je žiadna výnimka nezachytil. Pridaný bezprostredne po bloku try.
  • Hodiť - umožňuje vytvárať Java výnimky odkiaľkoľvek.
  • Hody - kľúčové slovo, ktoré je umiestnené v metóde podpis. To znamená, že nasledujúci kód môže vyvolaním výnimky tohto typu Java. Táto značka slúži ako signál pre vývojárov, ktoré je potrebné vziať do úvahy - metóda nemôže fungovať podľa očakávania od neho.

Lov s try

Uvoľnením Java výnimky, samozrejme predpokladá, že budú riešené vo zvláštnym spôsobom. Najpohodlnejší spôsob, ako to urobiť, ak je časť kódu je oplotený v bloku. Ktorý môže obsahovať výnimku. Pri spustení tohto kódu, bude virtuálny stroj nájsť nečakané situácie, pochopiť, že tam je kritický blok a odovzdá riadenie na stanici so spracovaním.

Kód Java je zabalená v osobitnom bloku try, počas ktorej môže byť výnimka. Tak, položil niekoľko nepredvídateľných situácií, ktoré budú zachytené na rovnakom mieste, nie raspolzayas kódu.

Najtypickejšie kód do procesorovej jednotky je nasledujúci:

try {

// Tu je kód, ktorý môže generovať výnimku

} Catch (Tip_isklyucheniya_1 identifikator_1) {

// Tu je spracovanie výnimiek, podľa typu a podmienok;

} Catch (Tip_isklyucheniya_2 identifikator_2) {

// Tu je spracovanie výnimiek, podľa typu a podmienok;

}

Kľúčové úlovok uvádza, že kód a skenovať výnimku, ktorý má byť liečený, ako je popísané nižšie, za predpokladu, že je v súlade s jeho typu. Identifikátor môže byť použitý pri spracovaní blok kódu ako argumenty.

konečne

Ako vyšlo najavo z predchádzajúcej kapitoly, bloky catch zachytiť výnimky a ich spracovanie. Ale veľmi často nastane situácia, kedy by mal spustiť nejaký kód, bez ohľadu na to, či boli chytení chyby. Za týmto účelom je kľúčové slovo nakoniec. Používa sa pre zvýšenie hodnoty rôznych čítačov, zatváranie súborov alebo pripojenie k sieti.

Tento graf prezentuje niekoľko blokov catch vynašiel metódy zachytiť výnimky. Napríklad kód obsiahnutý v pokuse vytvára neočakávané situácie, ako sú za studena. Potom bude konzola sa zobrazí výraz «prechladol!» A «Je to niečo fandiť asi?». To znamená, že konečne blok je vykonaný v každom prípade.

V skutočnosti, ako sa vyhnúť spustenie konečne tam. To je spojené s dokončením na virtuálnom stroji. Zistiť, ako to urobiť, je možné na internetových otvorených priestorov.

throw kľúčové slovo

Throw generuje výnimku. Jeho syntax je nasledujúca:

throw new NewException ();

Je tu vytvoril novú výnimku typu NewException (). Ako typ môže byť použitý, je už obsiahnutý v štandardných triedach Java knižnice a vopred definované developer vlastnej výroby.

Tento návrh je súčasťou popisu akýmkoľvek spôsobom, ktorý je hovor by potom dôjsť v rámci bloku try, aby bolo možné ju zachytiť.

kľúčové hádže

Čo keď sa v procese vývoja situácie, keď táto metóda môže vyvolať výnimku, ale nie sú schopné správne zvládnuť. Za týmto účelom, v metóde podpis špecifikuje slovo hodov a typ možných výnimiek.

Tento štítok je akýmsi ukazovateľom pre vývojárov klienta, že táto metóda nie je schopný zvládnuť svoju rovnakú výnimku. Okrem toho, ak je začiarknuté typ chyby, potom kompilátor donúti výslovne požiadať.

Pokúsiť sa zdrojmi

Vývojári Java verzia 7 obsahovali významnú inováciu, ako liečba bloku try so zdrojmi.

Mnoho objekty sú vytvárané v Jave, po použití by mal byť ukončený, aby šetriť zdroje. Predtým musela vziať do úvahy aj tieto prípady zastaviť manuálne. Teraz, však, oni objavili AutoClosable rozhranie. Pomáha automaticky uzavrieť už používané predmety umiestnené v bloku try. Vďaka tomuto prístupu sa stala pohodlnejšie písať kód v jeho čitateľnosť sa výrazne zvýšila.

Vlastné triedy Java výnimky

Tvorcovia popísaného programovacieho jazyka vzala do úvahy veľa aspektov konštrukčných typov mimoriadnych udalostí. Avšak, všetky možnosti, aby sa zabránilo výsledok udalostí nebude fungovať, takže Java implementovaná možnosť definovať svoje vlastné výnimky, je vhodné pre potreby konkrétneho kódu.

Najjednoduchší spôsob, ako vytvoriť - sa dedí z najvhodnejšie ku kontextu objektu.

Tam sa stalo dedí z Exception, triedu, ktorá sa používa na definovanie svojej vlastnej výnimky. V MyException má dva konštruktory - predvolené, druhá - s argumentom typu spr String.

Potom, vo verejnej triednych FullConstructors implementovaná metóda F, ktorý obsahuje podpis hodí MyException. Toto kľúčové slovo znamená, že f môže hodiť ako Java MyException výnimky. Ďalej v tele metódy produkoval textové informácie výstup do konzoly samotnej a aktuálne generácie MyException, podľa hodu.

Druhá metóda je mierne odlišná od tej prvej, že keď si vytvoríte výnimku, je odovzdaný parameter reťazec, ktorý sa odrazí v konzole pri chytaní. V hlavnej budove je zrejmé, že f () a g () sú umiestnené v kontrole try a catch heslo nakonfigurovaný tak, aby zachytiť MyException. Výsledkom spracovania je zobraziť chybové hlásenie na konzolu:

Tak sa stalo pridať Java výnimky, vlastnou rukou.

výnimky Architektúra

Rovnako ako u všetkých objektov v Jave, výnimky sa tiež zdedil a má hierarchickú štruktúru. Koreňový prvok všetkých chýb vyvolaných v tomto programovacom jazyku je trieda java.lang.Throwable. Zdedil od neho dvoch druhov - Error a Exception.

Error - signalizuje kritickú chybu a je nekontrolované Java výnimky. Zachytávanie a spracovanie týchto dát vo väčšine prípadov sa vyskytuje vo fáze návrhu a nepotrebujú zavádzanie v konečnom kóde aplikácie.

Najčastejšie používaným trieda pre tvorbu a analýzu výnimiek je výnimka. Ktorý, podľa poradia, je rozdelená do niekoľkých odborov, vrátane RuntimeException. By RuntimeException sú runtime výnimky, to znamená, že dôjde počas programu. Všetky triedy odvodené od neho sú neoveriteľné.

Často existujú výnimky

V Java výnimky, ktorých zoznam je uvedený nižšie, sa používajú najčastejšie, takže by ste mali popísať každý z nich v detaile:

  • ArithmeticException. Patrí medzi ne chýb spojených s aritmetických operácií. Najviac do očí bijúce príklad - delenie nulou.
  • ArrayIndexOutOfBoundsException - odvolanie na číslo prvku pole, ktoré prevyšuje súčet jeho dĺžky.
  • ArrayStoreException - pokus o priradenie nekompatibilný typ prvku z matice.
  • ClassCastException - pokus priviesť jeden druh zlého na iný.
  • IllegalArgumentException - používate zlý argument volanie metódy.
  • NegativeArraySizeException - výnimka pri vytváraní poľa zápornej veľkosti.
  • NullPointerException - zneužitie odkazy na null.
  • NumberFormatException - nastane, keď zlé konverzie reťazec na celé číslo.
  • UnsupportedOperationException - operácia nie je podporovaná.

Tieto príklady predstavujú typy nekontrolovaných výnimiek Java. Ale rovnako tak vyzerajú skontrolovať:

  • ClassNotFoundException - trieda nebola nájdená.
  • IllegalAcccessException - obmedziť prístup k triede.
  • InterruptedException - prerušenia toku.
  • NoSuchFieldException - nie sú tam žiadne povinné pole.

Výklad z výnimiek

Keď už hovoríme o najčastejšie sa vyskytujúcich výnimiek je potrebné poznamenať, že ich výklad v návrhu, môže byť vnímané zle. Ďalšia je krátky zoznam bližšieho vysvetlenia, kde môže byť neočakávané situácie.

NullPointerException. Úplne prvý prípad, keď existuje výnimka, je odvolať na odkaz na objekt, ktorý sa rovná null. To sa tiež vzťahuje na spôsoby nula inštancie triedy. NullPointerException môže byť vyvolaná v prípade získania rovnakej dĺžky poľa null. Aby sa predišlo týmto situáciám bude pravidelne kontrolovať miesta na null.

ArrayIndexOutOfBoundsException. Akýkoľvek program nemôže existovať bez použitia polí. V súlade s tým častejšie využíva k nej môžu vytvárať a chybe. Výnimka nastane, keď autor sa pokúsi o prístup k prvok poľa, ktorý nie je v zozname indexov. Napríklad, požadovaná hodnota nad alebo pod nulovou dĺžkou. Veľmi často je výsledkom skutočnosti, že v poli začína sa skóre nula.

zistenie

Manipulácia s Java výnimky - mocný nástroj pre životné prostredie, čo značne uľahčuje prácu programátora a umožňuje mu vytvoriť čistý a prostý chýb kódu. O tom, ako hladký a stabilný aplikácie fungujúce závisí od stavu a povesť developera.

Samozrejme, že vo viac či menej jednoduchých programov sledovať abnormálne situácie oveľa jednoduchšie. Ale vo veľkých automatizovaných komplexov pre niekoľko sto tisíc riadkov je možné iba ako výsledok dlhodobého testovanie a ladenie.

Chyby Java výnimka z ktorých vznikajú v niektorých aplikáciách, niektoré firmy ponúkajú odmenu, keď sa zistí, nadšencov. Ocenia najmä tých, ktoré spôsobujú porušenie softvéru bezpečnostnej politiky.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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