Tarkistettu vs. valitsematon poikkeus: ero ja vertailu

Poikkeusten tarkistaminen on yksi tärkeimmistä asioista ohjelmoinnissa ja ohjelmistotestauksessa. Tarkistettu ja valitsematon poikkeus pysäyttää ohjelman toiminnan, kun se yrittää havaita vian tai virheen.

Lisäksi katsotaan, että ohjelmoijan vastuulla on varmistaa, että näitä virheitä ei koskaan tapahdu. Sekä valitut että valitsemattomat poikkeukset ovat poikkeuksellisen samanlaisia, mutta ne ovat erilaisia.

Keskeiset ostokset

  1. Kääntäjä tarkistaa tarkistetut poikkeukset käännösajan aikana, ja ohjelmoijan on käsiteltävä ne try-catch-lohko- tai heitto-avainsanalla, kun taas tarkistamattomia poikkeuksia esiintyy ajon aikana, eikä niitä tarvitse käsitellä.
  2. Valittuja poikkeuksia käytetään korjattaviin virheisiin, kuten tiedostoa ei löydy, kun taas valitsemattomia poikkeuksia käytetään korjaamattomiin virheisiin, kuten muistin loppumiseen tai nollaosoittimen poikkeuksiin.
  3. Tarkistetut poikkeukset ovat osa menetelmän allekirjoitusta, kun taas valitsemattomat poikkeukset eivät ole.

Tarkistettu vs. valitsematon poikkeus

Ero tarkastetun ja tarkistamattoman poikkeuksen välillä on se, että tarkastetut poikkeukset ovat niitä, jotka checks () -käskyn täytyy saada kiinni ja käsitellä tai ne saavat ohjelman lopettamaan ja tulostamaan pinon jäljen, kun taas tarkistamattomien poikkeuksien pitäisi toisaalta sitä ei tarvitse ottaa kiinni tai käsitellä ollenkaan, koska se on ohjelmoijaon vastuussa varmistaa, ettei näitä virheitä koskaan tapahdu.

Tarkistettu vs valitsematon

Tarkistettu poikkeus on tietyntyyppinen poikkeus, joka pysäyttää ohjelman toiminnan, kunnes se joko jää kiinni catch-lohkoon tai määritetään menetelmän heittolausekkeessa. Lisäksi Checked-poikkeus jää kiinni ja käsittelee checks () -käskyn avulla, tai ne saavat ohjelman lopettamaan ja tulostamaan pinon jäljen.

Jos poikkeuksen aiheuttanutta koodia ei testattu kunnolla, se voi aiheuttaa outoja Tarkistamattomia poikkeuksellisia virheitä, joita voi olla vaikea löytää ja korjata.

Lisäksi Unchecked-poikkeuksia ei tarvitse ottaa kiinni tai käsitellä ollenkaan, koska ohjelmoijan vastuulla on varmistaa, että näitä virheitä ei koskaan tapahdu.

Vertailu Taulukko

Vertailun parametritTarkistettu poikkeusValitsematon poikkeus
MääritelmäTarkistetut poikkeukset ovat poikkeuksia, jotka on otettava kiinni ja käsiteltävä checks () -lausekkeiden avulla.Tarkistamattomia poikkeuksia ei tarvitse ottaa kiinni tai käsitellä ollenkaan.
esiintyminenCatch-lohkon on käsiteltävä tarkistetut poikkeukset käännösajan aikana. Kiinnittämättömät poikkeukset, jotka tunnetaan myös ajonaikaisina poikkeuksina, ovat valitsemattomia poikkeuksia.
Virhe käsittelyValittu poikkeus pysäyttää ohjelman toiminnan, kunnes se yrittää havaita vian tai virheen. Ohjelmoijan vastuulla on varmistaa, ettei näitä virheitä koskaan tapahdu.
PoikkeusluokatSiinä on poikkeuksellisia luokkia.Sillä ei ole poikkeuksellisia luokkia tai se ei ole merkittävä osa poikkeusluokkia.
esimerkkiOutOfMemoryError, NullPointerException ja StackOverflowError.IndexOutOfBoundsException

Mikä on tarkistettu poikkeus?

Tarkistetut poikkeukset liittyvät läheisesti ohjelmistotestaukseen, lisäksi tarkistettu poikkeus on poikkeus, joka on käsiteltävä, tai ohjelma päättyy.

Lue myös:  JPG vs JPEG: ero ja vertailu

Tämä tarkoittaa, että throw-käskyn jälkeinen koodi ei toimi, jos mikään catch-lohko ei käsittele poikkeusta.

Tarkistetuilla poikkeuksilla on kaksi tarkoitusta: ne estävät ohjelmaa jatkamasta virheen tapahtuessa ja antavat virheenkorjaustietoja siitä, mistä virhe löytyy.

Kääntäjä ei pakota ohjelmoijaa käsittelemään poikkeusta, mutta jokaisen luokan, joka laajentaa toista luokkaa, tulee myös joko laajentaa tai toteuttaa kaikki tarkistetut poikkeuksensa.

Jos näin ei tapahdu, laajennetun luokan käännös epäonnistuu käännösaikavirheen vuoksi, joka ilmoittaa, että sen on käsiteltävä kaikki superluokan tarkistamat poikkeukset. Tämä estää perinnön käyttämisen sisäänrakennetun kiertämiseen vika tiloissa.

Kun poikkeus heitetään, se välitetään debuggerille Eclipse tai käyttöjärjestelmään, joka sitten lopettaa ohjelman normaalisti. Käyttöjärjestelmä tulostaa pinojäljen.

Pinojäljitys tarjoaa tietoja jokaisesta menetelmäkutsusta siinä järjestyksessä, jossa niitä kutsuttiin. Tämän avulla ohjelmoija voi löytää, missä koodissa tai missä koodin suoritusvirrassa tapahtui poikkeus.

Mikä on tarkistamaton poikkeus?

Tarkistamattomia poikkeuksia on olemassa, jotta ohjelmoijat voivat ohjelmoida joustavammin ja tehokkaammin. Java on suunniteltu antamaan ohjelmoijille mahdollisuus luoda sovelluksia, jotka käyttävät resursseja tehokkaasti ja välttävät umpikujaa.

Tarkistamattomat poikkeukset voidaan eliminoida huolellisella suunnittelulla ja koodauskäytännöillä. Kaikkia poikkeuksia lukuun ottamatta Java-koodin NullPointerExceptionia pidetään kuitenkin valitsemattomina.

Tarkistamattomia poikkeuksia ei tarvitse ottaa kiinni tai käsitellä ollenkaan.

Lisäksi ne ovat tapa korkeamman tason koodille kertoa alemman tason koodille, että se aikoo tehdä jotain, joka ei ole säikeen turvallista, mutta joka ei aiheuta ongelmia, jos vain yksi säiettä on käynnissä kerrallaan, kuten esim. joidenkin tietojen päivittäminen tai grafiikan näyttäminen näytöllä.

Lue myös:  Big Data vs Cloud Computing: ero ja vertailu

Tarkistamattomien poikkeusten käyttäminen on riskialtis ehdotus. Jos luokka aikoo tehdä tarkistamattoman poikkeuksen, sitä luokkaa käyttävien on oltava tietoisia siitä ja hänellä on oltava tiukat menetelmät sen käsittelemiseksi.

Ohjelmoija saattaa esimerkiksi haluta lukea joitakin tietoja tiedostosta ja kirjoittaa ne sitten takaisin, eikä tällainen toiminto vaadi synkronointia.

On täysin hyväksyttävää, että sovellus lukee samat tiedot kahdesti kahdesta eri säikeestä ilman, että sillä on kielteisiä vaikutuksia järjestelmän suorituskykyyn tai vakauteen.

Tärkeimmät erot valittujen ja tarkistamattomien poikkeusten välillä

  1. Tarkistetut poikkeukset ovat niitä, jotka on otettava kiinni ja käsiteltävä checks () -lausekkeiden avulla, kun taas tarkistamattomia poikkeuksia ei tarvitse ottaa kiinni tai käsitellä ollenkaan.
  2. Tarkistetut poikkeukset on käsiteltävä catch-lohkolla käännösajan aikana, kun taas Uncaught Exceptions, joka tunnetaan myös nimellä ajonaikaiset poikkeukset, ovat valitsemattomia poikkeuksia.
  3. Valittu poikkeus pysäyttää ohjelman toiminnan, kunnes se yrittää havaita vian tai virheen, kun taas valitsemattomat poikkeukset ovat ohjelmoijan vastuulla varmistaa, että näitä virheitä ei koskaan tapahdu.
  4. Checked Exceptionissa on poikkeuksellisia luokkia, kun taas Unchecked Exceptionissa ei ole poikkeuksellisia luokkia tai se ei ole merkittävä osa poikkeusluokkia.
  5. Esimerkki tarkistetusta poikkeuksesta olisi OutOfMemoryError, NullPointerException ja StackOverflowError, kun taas esimerkki tarkistamattomasta poikkeuksesta olisi IndexOutOfBoundsException.

Viitteet

  1. https://ieeexplore.ieee.org/abstract/document/4343929/
  2. https://link.springer.com/article/10.1023/A:1010020917337

Viimeksi päivitetty: 11. kesäkuuta 2023

piste 1
Yksi pyyntö?

Olen tehnyt niin paljon vaivaa kirjoittaakseni tämän blogikirjoituksen tarjotakseni sinulle lisäarvoa. Siitä on minulle paljon apua, jos harkitset sen jakamista sosiaalisessa mediassa tai ystäviesi/perheesi kanssa. JAKAminen ON ♥️

8 ajatusta aiheesta "Tarkastettu vs. tarkistamaton poikkeus: ero ja vertailu"

  1. Tarkastettujen ja tarkistamattomien poikkeuskonseptien kattava kattavuus sovelluksineen tarjoaa kattavan käsityksen. Artikkeli käsittelee tehokkaasti näiden ohjelmoinnin poikkeusten perusnäkökohtia.

    vastata
  2. Artikkelin selitys tarkistetuista poikkeuksista, jotka ovat palautettavissa olevia virheitä, kuten tiedostoa ei löydy, ja tarkistamattomista poikkeuksista, jotka ovat korjaamattomia virheitä, kuten muistin loppuminen, on olennainen ja korostaa näiden kahden erottamisen tärkeyttä.

    vastata
  3. Artikkeli sisältää perusteellista tietoa tarkistetuista ja tarkistamattomista poikkeuksista, mikä tekee selväksi, miten ne eroavat toisistaan ​​ja mitä toimintoja ne palvelevat. Se selittää myös kuinka kääntäjä käsittelee tarkistettuja poikkeuksia käännösaikana ja ohjelmoijan vastuuta tarkistamattomien poikkeusten käsittelyssä.

    vastata
  4. Keskustelu tarkistetuista poikkeuksista, jotka edellyttävät try-catch-estoa tai heittävät avainsanat, kun taas tarkistamattomia poikkeuksia esiintyy suorituksen aikana eikä niitä tarvitse käsitellä, on oivaltava. Se korostaa mahdollisia skenaarioita kunkin poikkeuksen esiintymiselle.

    vastata
  5. Yksityiskohtainen selitys tarkastetuista poikkeuksista, jotka ovat osa menetelmän allekirjoitusta, kun taas tarkistamattomat poikkeukset eivät ole, antaa arvokasta tietoa näiden poikkeusten luonteesta. Artikkeli viestii tehokkaasti eron näiden kahden välillä.

    vastata
  6. Artikkeli tarjoaa perusteellisen erittelyn tarkistetuista ja tarkistamattomista poikkeuksista ja korostaa niiden merkitystä ja vaikutuksia ohjelman suorittamiseen. Selkeä kuvaus auttaa ymmärtämään heidän roolinsa ohjelmistokehityksessä ja -testauksessa.

    vastata
  7. Artikkelissa on kattava vertailutaulukko, joka hahmottelee ytimekkäästi erot tarkistettujen ja tarkistamattomien poikkeusten välillä. Taulukko yksinkertaistaa kahden tyyppisten poikkeusten ymmärtämistä, niiden esiintymistä ja niiden käsittelyä.

    vastata
  8. Yksityiskohtaiset tiedot tarkistetuista ja tarkistamattomista poikkeuksista, mukaan lukien määrittely, esiintyminen ja virheiden käsittely, ovat arvokas resurssi niille, jotka haluavat syventää tietojaan ohjelmistotestauksesta ja ohjelmointiperiaatteista.

    vastata

Jätä kommentti

Haluatko tallentaa tämän artikkelin myöhempää käyttöä varten? Napsauta sydäntä oikeassa alakulmassa tallentaaksesi omaan artikkelilaatikkoosi!