Ero Java- ja virhevirheiden välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 2 Huhtikuu 2021
Päivityspäivä: 6 Saattaa 2024
Anonim
Ero Java- ja virhevirheiden välillä - Tekniikka
Ero Java- ja virhevirheiden välillä - Tekniikka

Sisältö


”Heitettävä” toimii Java-virheen ja poikkeushierarkian juurina. ”Virhe” on kriittinen tila, jota ohjelman koodi ei pysty käsittelemään. ”Poikkeus” on poikkeuksellinen tilanne, joka voidaan hoitaa ohjelman koodilla. Merkittävä ero virheen ja poikkeuksen välillä on se, että an virhe johtuu järjestelmäresurssien puutteesta, ja poikkeus johtuu koodistasi. Tutkitaan muita virheiden ja poikkeusten välisiä eroja vertailutaulun kanssa.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteetVirhepoikkeus
perustiedotJärjestelmäresurssien puutteesta johtuu virhe.Poikkeus johtuu koodista.
ElpyminenVirhettä ei voida korjata.Poikkeus on palautettavissa.
AvainsanatOhjelmakoodilla tapahtuvaa virhettä ei voida käsitellä.Poikkeuksia käsitellään kolmella avainsanalla "kokeile", "kiinni" ja "heittää".
Seuraukset
Kun virhe havaitaan, ohjelma lopetetaan epänormaalisti.Koska poikkeus havaitaan, se heitetään ja pyydetään vastaavasti avainsanoilla "heittä" ja "saali".
Tyypit Virheet luokitellaan tarkistamattomiksi.Poikkeukset luokitellaan valituiksi tai valittomiksi.
Paketti Java-ohjelmassa virheet määritetään "java.lang.Error" -paketiksi.Java-järjestelmässä poikkeukset on määritelty "java.lang.Exception" -kohdassa.
esimerkkiOutOfMemory, StackOverFlow.Tarkistetut poikkeukset: NoSuchMethod, ClassNotFound.
Valitsemattomat poikkeukset: NullPointer, IndexOutOfBounds.


Määritelmä virhe

Virhe”On sisäänrakennetun luokan” heitettävä ”alaluokka. Virheet ovat kriittisiä olosuhteita, jotka johtuvat järjestelmäresurssien puutteesta, eikä niitä voida käsitellä ohjelman koodilla. Virheitä ei voida palauttaa millään tavalla, koska niitä ei voida luoda, heittää, kaappaa tai vastata. Virheitä aiheuttaa katastrofaalinen vika, jota ohjelmasi ei yleensä pysty käsittelemään.

Virheet ovat aina tarkistamattomia, koska kääntäjillä ei ole tietoa niiden esiintymisestä. Virheitä esiintyy aina run-time-ympäristössä. Virhe selitetään esimerkin avulla, ohjelmassa on pinojen ylivuodon, muistin loppumisvirheen tai järjestelmän kaatumisvirheen virhe, tällainen virhe johtuu järjestelmästä. Koodi ei ole vastuussa tällaisista virheistä. Virheen esiintymisen seurauksena ohjelma lopetetaan epänormaalisti.


Määritelmä Poikkeus

”Poikkeus” on myös sisäänrakennetun luokan ”heitettävä” alaluokka. Poikkeuksia ovat poikkeukselliset olosuhteet, jotka ilmenevät runtime-ympäristössä. Suurin osa poikkeuksista johtuu ohjelman koodista. Mutta poikkeuksia voi hoitaa itse ohjelma, koska poikkeukset ovat palautettavissa. Poikkeuksia käsitellään käyttämällä kolmea avainsanaa ”kokeile”, “saalis”, “heittää”. Poikkeuksen kirjoittamisen syntaksi on:

kokeile {// kirjoita koodi tähän} Catch (Poikkeustyyppi) {// kirjoita koodi tähän}

Yllä olevassa koodissa koestuslohkoon kirjoitettu koodi on koodi, jota haluat seurata poikkeusta varten. Jos poikkeus esiintyy yrittäjälohkossa, se heitetään käyttämällä "heittää" -sanaa. Heitetyn poikkeuksen voi saada yllä olevan koodin "catch" -lohkosta. ”Poikkeustyyppi” on tapahtuneen poikkeuksen tyyppi.

Yksinkertaisin sanoin voidaan sanoa, että virheellisestä koodista johtuvia virheitä kutsutaan poikkeuksiksi. Esimerkiksi, jos pyydettyä luokkaa ei löydy tai pyydettyä menetelmää ei löydy. Tällaiset poikkeukset johtuvat ohjelmassa olevasta koodista; järjestelmä ei ole vastuussa tällaisista poikkeuksista. Poikkeukset luokitellaan ”valittuiksi” ja “ei valittuiksi”. Valitsemattomat poikkeukset eivät tiedä kääntäjää, koska ne esiintyvät ajon aikana, kun taas kääntäjällä on tietoa tarkistetuista poikkeuksista, koska niiden tiedetään kääntäjän kokoajan aikana.

  1. Virhe tapahtuu vain, kun järjestelmäresurssit ovat puutteellisia, kun taas koodissa on jokin ongelma, poikkeus syntyy.
  2. Virhettä ei voida koskaan palauttaa, kun taas poikkeus voidaan palauttaa valmistamalla koodi käsittelemään poikkeus.
  3. Virhettä ei voida koskaan käsitellä, mutta poikkeus voidaan hoitaa koodilla, jos poikkeuksen heittävä koodi on kirjoitettu try and catch -lohkon sisälle.
  4. Jos tapahtuu virhe, ohjelma lopetetaan epänormaalisti. Toisaalta, jos poikkeus tapahtuu, ohjelma heittää poikkeuksen, ja sitä käsitellään kokeilu- ja saalislohkolla.
  5. Virheet ovat tarkistamattomia, ts. Virheitä ei ole kääntäjien tiedossa, kun taas poikkeus luokitellaan tarkistetuiksi ja tarkistamattomiksi.
  6. Virheet on määritelty java.lang.Error-paketissa, kun taas poikkeus on määritelty java.lang.Exception.

johtopäätös:

Poikkeukset ovat ohjelman koodauksessa tehtyjen virheiden tulokset, ja virheet johtuvat järjestelmän virheellisestä toiminnasta.