TietokoneetOhjelmointi

Java: poikkeukset ja niiden käsittelystä

Mikä tahansa ohjelma toimii vakaasti vain, jos lähdekoodi debugged, eikä ole mitään ehtoja, jotka voivat aiheuttaa odottamattomissa tilanteissa. Taloudellisten erojen mahdollisten vikojen tehdään suunnitteluvaiheessa. Voit tehdä tämän, kehittäjä otetaan huomioon kaikki odotetut tulokset ja yrittää rajoittaa vaikutusta virhe, niin että se ei voinut häiritä ohjelman toiminnasta, tai johtaa sen romahtamista.

Kun saatat tarvita poikkeusten käsittely

Java poikkeus voi olla väärä käyttäjän syötettä, ei tarvita resurssin tai äkillinen verkkoyhteys on katkennut ohjelmaa. Lisää käyttömukavuutta luoma sovelluskehittäjä, sinun täytyy hallita esiintyminen hätätilanteissa. Kuluttajan ei pitäisi joutua odottamaan voit lopettaa tällaisen ohjelman, menettää dataa seurauksena käsittelemättömän poikkeuksen, tai vain osan näyttöön tulee sanoma, että jotain meni pieleen.

Käsittely Java poikkeuksia

Mitä Harkitse? Java on oma sisäänrakennettu poikkeusten käsittely toiminnallisuutta. Tietenkin suuri virheprosentti on kiinni toinen kokoelma vaiheessa järjestelmä automaattisesti ilmoittaa, että käyttö ei ole enää mahdollista. Mutta on tällainen poikkeus, joka tapahtuu suorituksen. Kehittäjä pitäisi pystyä ennakoimaan sitä ja suunnitella koodia niin, että se ei aiheuta virhettä, ja käsitellyt sitä erityisellä tavalla ja luovutetaan ohjaus toiseen haaraan.

Java, tämä perimä kääntäjä kiinni poikkeus, niin tyypilliset ongelmat ovat tiedossa, ja on vakioharjoituksessa kuvioita.

tyypillinen poikkeukset

Yksinkertaisin esimerkki, jossa voit saada poikkeus - tämän jaon. Huolimatta sen yksinkertaisuus, mitä, kuten jakaja, voi olla nolla, mikä johtaa virheen. No, jos se on mahdollista ennustaa syntymistä menneisyyden ja estää. Mutta tämä vaihtoehto ei ole aina saatavilla, joten kiinni poikkeus olisi järjestettävä suoraan, jos "jakaminen nollalla".

Java mekanismi katkaisten käsittelyn virhe näyttää tältä:

  • keko poikkeus objekti on luotu, sekä muita;
  • luonnollista kulkua ohjelman keskeytyy;
  • torjuntamekanismi yrittää löytää vaihtoehtoinen tapa jatkaa koodin;
  • Löytää turvallinen ohjelman suoritus prosessorin, työ- tai palautettu, tai että se esiintyy toteuttamiseen poikkeus erityisellä tavalla.

Yksinkertaisin esimerkki luomalla virhe voisi näyttää tältä:

jos (a == null)

heittää uusi NullPointerException ();

Täällä muuttuja a tarkistetaan Alustuksen eli ei ole siitä, viittaus null esine. Jos tämä tilanne on syntynyt ja tarvitsevat erityistä käsittelyä, poikkeuksen heitetään heittää uusi NullPointerException ().

Muutamia tietoja avainsanoista

Kun käsitellään poikkeuksia on usein tarpeen käyttää avainsanaa Java viitata tietyn toiminnon. Tämä kieltä viisi ohjelmointi:

  • Kokeile. Tämä avainsana jo saavutettu, ja se merkitsee siirtymistä osa koodia, joka voi heittää poikkeus. Lohko rajoitettu housunkannattimet {}.
  • Saalis. Se sieppaa haluttu poikkeus tyyppi ja käsitellä asianmukaisesti.
  • Lopuksi. Tämä avainsana on vapaaehtoinen ja käytetään suorittamaan tietyn koodinpätkä, joka tarvitaan joka tapauksessa, vaikka ei ole poikkeus ei kuulu. Lisätty heti yrittää estää.
  • Heitä - voit luoda Java poikkeuksia mistä tahansa.
  • Heittää - avainsana, joka on sijoitettu menetelmässä allekirjoitus. Se tarkoittaa, että seuraava koodi voi heittää poikkeus tämäntyyppisen Java. Tämä merkki toimii signaalina kehittäjille, jotka on pidettävä mielessä - menetelmää ei toimi odotetulla häntä.

Catching kanssa kokeilla

Vapauta Java poikkeuksia, tietenkin olettaa, että se käsitellään erityisellä tavalla. Kätevin tapa tehdä se, jos koodi jakso on aidattu lohkossa. Joka voi sisältää poikkeuksen. Kun olet suorittanut tämän koodin, virtuaalikone löytävät odottamaton tilanne, ymmärtää, että on olemassa kriittinen lohko ja siirtää ohjauksen asemalle käsittelyn.

Java-koodi on kääritty erityinen lohkon kokeilla, jonka sisällä voi olla poikkeus. Niinpä hän asetti useita ennakoimattomia tilanteita, jäävät kiinni samassa paikassa, ei raspolzayas koodia.

Tyypillisin koodi käsittely-yksikkö on seuraava:

try {

// Tässä on joitakin koodi, joka voi tuottaa poikkeus

} Saalis (Tip_isklyucheniya_1 identifikator_1) {

// Täällä on poikkeusten käsittely, mukaan sen ja olosuhteista;

} Saalis (Tip_isklyucheniya_2 identifikator_2) {

// Täällä on poikkeusten käsittely, mukaan sen ja olosuhteista;

}

Avainsana saalis kertoo, että koodin ja tarkistaa sen poikkeuksesta, kohdellaan kuten alla on kuvattu, kunhan se täyttää sen tyypin. Tunniste voidaan käyttää prosessoitaessa koodilohkon argumentteja.

vihdoin

Kun kävi ilmi edellisessä luvussa, saalis lohkot kiinni poikkeuksia ja käsitellä niitä. Mutta hyvin usein tilanne, jossa pitäisi ajaa koodia, riippumatta siitä, onko ne kiinni virheitä. Tästä on avainsana vihdoin. Sitä käytetään lisäämään arvot eri laskurit, sulkemalla tiedostoja tai verkkoyhteydet.

Esityksessä esitellään useita saalis lohkojen keksitty menetelmiä saalis poikkeuksia. Esimerkiksi koodin mukaisen yrittää muodostaa yllättävässä tilanteessa kuten kylmä. Sitten konsoli näkyy ilmaisun «Caught kylmää!» Ja «Onko se jotain hurraamisen aihetta?». Eli lopulta lohko suoritetaan joka tapauksessa.

Itse asiassa tapa välttää käynnistämästä lopulta sinne. Se liittyy päätökseen virtuaalisen koneen. Etsi miten toteuttaa se, että on mahdollista internetissä aukiot.

Heitä hakusana

Heitä luo poikkeuksen. Sen syntaksi on seuraavanlainen:

heittää uusi NewException ();

Siellä on luonut uuden poikkeuksen tyypin NewException (). Tyypiksi voidaan käyttää jo sisällytetty standardi Java kirjasto luokkia ja aiemmin määritelty kehittäjä omaa tuotantoa.

Tämä muotoilu on osa kuvausta mitään menetelmää, josta puhelu tulee sitten tapahtua try lohkon, jotta voisi siepata sen.

Avainsana heittoja

Mitä jos parhaillaan kehitystä tilanteessa, jossa menetelmä voi heittää poikkeus, mutta eivät pysty käsittelemään kunnolla. Tätä varten menetelmässä allekirjoitus määrittelee sanan heittoja ja tyyppi mahdollisia poikkeuksia.

Tämä tarra on eräänlainen indikaattori asiakkaan kehittäjille että menetelmä ei pysty hoitamaan samaan poikkeus. Lisäksi jos vikatyypistä on valittuna, kääntäjä pakottaa nimenomaan pyytävät.

Yritä resursseja

Java-versio 7 kehittäjät ovat mukana merkittävä uudistus, hoitona yrittää lohkon resursseja.

Monet esineet on luotu Java, käytön jälkeen on tarkoitus sulkea resurssien säästämiseksi. Aiemmin oli otettava tämä huomioon ja lopettaa nämä tapaukset manuaalisesti. Nyt kuitenkin ne näyttivät AutoClosable käyttöliittymä. Se auttaa automaattisesti sulkea jo käytössä esineet sijoitetaan kokeilla lohkossa. Tämän lähestymistavan on tullut helpompaa kirjoittaa koodia sen luettavuus on merkittävästi lisääntynyt.

Omat luokat Java poikkeuksia

Samoilta kuvatun ohjelmointikieli otti huomioon monia näkökohtia tyypeille hätätilanteissa. Kuitenkin kaikki vaihtoehdot, jotta lopputulos tapahtumia ei toimi, niin Javalla toteutettu kyky määritellä omia poikkeuksia, on aiheellista tarpeisiin kyseisellä koodilla.

Yksinkertaisin tapa luoda - periytyä sopivin objektin yhteydessä.

Siellä tapahtui perivät Poikkeus, luokka, jota käytetään määrittää oman poikkeuksia. Vuonna MyException on kaksi rakentajat - oletuksena, toinen - väitettä msg tyyppi String.

Sitten julkisella luokkahuoneessa FullConstructors toteutettava menetelmä f, joka sisältää allekirjoituksen heittää MyException. Tämä avainsana on, että f voi heittää kuten Java MyException poikkeus. Edelleen, menetelmässä kehon tuottaman tekstin tiedot lähtö konsoleiden ja todellinen sukupolvi MyException, jonka heitto.

Toinen tapa on hieman erilainen kuin ensimmäinen, että kun luot poikkeuksen, se johdetaan merkkijono parametri, joka näkyy konsolin kiinni. Pääasiassa on selvää, että f () ja g () sijoitetaan yritä tarkistaa ja avainsanojen saalis sovitetaan pyydystämään MyException. Tulos käsittely on näyttää virheilmoituksen konsoliin:

Siten se tuli lisätä Java poikkeuksia, omakätisesti.

Arkkitehtuuri poikkeukset

Kuten kaikki objektit Java, poikkeukset ovat myös perinnöllinen ja on hierarkkinen rakenne. Juurielementti kaikki virheet heitetään tämän ohjelmointikieli on luokka java.lang.Throwable. Peritty häneltä kahdenlaisia - Error ja poikkeus.

Virhe - signaloi kriittinen virhe ja on valittu Java poikkeuksia. Sieppaus ja käsittely tällaisten tietojen useimmissa tapauksissa tapahtuu suunnitteluvaiheessa ja eivät tarvitse ottaa käyttöön lopullisessa sovelluksessa koodi.

Yleisimmin käytetty luokan luomiseen ja analysointiin poikkeukset on poikkeus. Joka puolestaan on jaettu useita haaroja, kuten RuntimeException. By RuntimeException ovat runtime poikkeuksia, eli ohjelman aikana ilmeneviin. Kaikki luokat siitä johdetun ovat todennettavissa.

Usein on olemassa poikkeuksia

Java poikkeuksia, joiden luettelo on esitetty alla, käytetään useimmiten, joten kannattaa kuvata jokainen niistä yksityiskohtaisesti:

  • ArithmeticException. Nämä ovat virheitä, jotka liittyvät aritmeettisia operaatioita. Ilmeisin esimerkki - jako nollalla.
  • ArrayIndexOutOfBoundsException - valitus taulukkoalkion numero, joka ylittää koko sen pituutta.
  • ArrayStoreException - yritys määrittää yhteensopimaton elementin tyyppi jono.
  • ClassCastException - pyrkimys saada väärä yhdestä tyypistä toiseen.
  • IllegalArgumentException - väärän väitteen menetelmässä puhelun.
  • NegativeArraySizeException - poikkeuksen, kun luot erilaisia negatiivisia koosta.
  • NullPointerException - väärinkäyttö viittauksia null.
  • NumberFormatException - tapahtuu, kun väärä merkkijono muuntaminen kokonaisluvuksi.
  • UnsupportedOperationException - toimintoa ei tueta.

Nämä esimerkit edustavat tyyppejä valitsematta Java poikkeuksia. Mutta niin näyttää tarkistettu:

  • ClassNotFoundException - Luokkaa ei löydy.
  • IllegalAcccessException - rajoittaa pääsyä luokan.
  • InterruptedException - keskeytys virtauksen.
  • NoSuchFieldException - ei ole pakollinen kenttä.

Tulkinta poikkeuksia

Puhuminen esiintyviä poikkeuksia on huomattava, että niiden tulkinta suunnittelussa, voidaan havaita väärin. Seuraava on lyhyt lista selittää tarkemmin, jossa voi olla odottamaton tilanne.

NullPointerException. Ensimmäinen tapaus, kun on poikkeus, on valittaa viittaus esine, joka on nollaksi. Se ulottuu myös nolla luokka esimerkiksi menetelmiä. NullPointerException voidaan heittää tapauksessa saada yhtä pitkä null array. Tällaisten tilanteiden välttämiseksi väliajoin tarkistaa sivustoja nolla.

ArrayIndexOutOfBoundsException. Mikä tahansa ohjelma ei voi olla olemassa ilman taulukoita. Näin ollen käyttää usein se voi tuottaa ja virhe. Poikkeus esiintyy, kun kehittäjä yrittää käyttää erilaisia elementti, joka ei ole hakemistoluettelossa. Esimerkiksi, pyydetty arvo on yli tai alle nollan pituus. Hyvin usein on seurausta siitä, että jono alkaa pisteet nolla.

tulokset

Käsittely Java poikkeuksia - tehokas työkalu ympäristössä, mikä helpottaa suuresti työtä ohjelmoija ja antaa hänelle mahdollisuuden luoda puhdas ja vailla koodin virheitä. Miten sujuva ja vakaa toiminta riippuu sovelluksen asemaa ja mainetta kehittäjä.

Tietenkin, enemmän tai vähemmän yksinkertaisia ohjelmia jäljittää poikkeavissa tilanteissa paljon helpompaa. Mutta suurissa automaattisia komplekseja muutama satatuhatta riviä on mahdollista vain seurauksena pitkäaikaisen testaus ja virheenkorjaus.

Java poikkeus virhe, josta syntyy joissakin sovelluksissa, jotkut yritykset tarjoavat palkita, kun he löytävät harrastajia. Miellyttävämpiä niitä, jotka aiheuttavat rikkoo turvallisuuspolitiikkaa ohjelmisto.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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