Ero Java-heittojen ja -heittojen välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 1 Huhtikuu 2021
Päivityspäivä: 13 Saattaa 2024
Anonim
Ero Java-heittojen ja -heittojen välillä - Tekniikka
Ero Java-heittojen ja -heittojen välillä - Tekniikka

Sisältö


Heitto ja heitto ovat avainsanoja poikkeusten käsittelyssä. heittää avainsanaa käytetään ohjelmoijan luoman poikkeuksen ilmentymän luovuttamiseen JVM: lle manuaalisesti. heittää avainsana, jota käytetään poikkeuksen käsittelyvastuun luovuttamiseen, tapahtui menetelmässä soittajalle. Periaatteellinen ero heiton ja heittojen välillä on se, että heittämisavainsana käyttää poikkeusobjektia, kun taas heittäjäavainsana käyttää poikkeusluokkien nimeä.

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

Vertailutaulukko

Vertailun perusteetheittääheittää
perustiedotHeittää avainsananvaihdon luomamme poikkeusobjekti JVM: ään manuaalisesti.Heittää avainsanaa käytetään siirtämään vastuu poikkeusten käsittelystä menetelmän soittajalle.
Syntaksiheittää heitettävää esimerkkiä;return_type method_name (parametriluettelo) heittää ExceptionClass_list
{
// menetelmän runko
}
Jonka jälkeenHeittokanaa seuraa poikkeusobjekti.Heittää avainsanaa seuraa luettelo poikkeusluokista, joita menetelmässä voi esiintyä.
Poistettujen poikkeusten lukumääräHeittää avainsana voi heittää yhden poikkeuksen esimerkki.Heittää avainsana voi julistaa useita poikkeusluokkia erotettu pilkulla.


Määritelmä heittää

Avainsana “heittää”Käytetään luovuttamaan luomiemme poikkeusilmentimen JVM: lle (Java Virtual Machine) manuaalisesti. Jos ”heittoa” ei käytetä poikkeusinstanssin heittämiseen ja poikkeus tapahtuu, ajonaikainen järjestelmä heittää sisäisesti poikkeusinstanssin JVM: lle ja ohjelma päättyy epänormaalisti. Heittohakusanan yleinen muoto on:

heittää Throvable_instance;

Throvable_instance -kohdan yläpuolella on oltava luokan Throvable esine. Alkeellisia tyyppejä, kuten int, float tai char, ja ei-heitettävää luokan esiintymää, ei voida heittää viskusanalla.

Otetaan esimerkki avainsanan heitton ymmärtämiseksi.

Luokan testi {Julkinen staattinen tyhjä pää (merkkijonot) {heitä uusi ArithmeticException ("/ nolla"); }}

Yllä olevassa koodissa avainsananheitto heittää poikkeusluokan “ArithmeticException” esiintymän. Jos heitto-avainsanaa ei olisi käytetty silloin, pää () -menetelmä olisi sisäisesti luonut JVM: lle luovutetun poikkeusobjektin.


Muistettavat seikat avainsananheitosta:

  • Se luovuttaa poikkeusobjektin manuaalisesti JVM: lle.
  • Sitä käytetään parhaiten käyttäjän määrittelemiin poikkeuksiin tai mukautettuihin poikkeuksiin.
  • Jos muistia ei ole allokoitu heittoavainsanan heittämään poikkeusobjektiin, tapahtuu suorituksenaikainen poikkeus, NullPointerException.
  • Heittää avainsana pysäyttää ohjelman suorittamisen heti sen esiintymisen jälkeen. emme voi suoraan kirjoittaa mitään lausuntoa heitetyslausuman jälkeen. Jos kirjoitamme jonkin laskennan heti käskyn jälkeen, kääntäjä näyttää virheen, jota ei voida saavuttaa käännöksen aikana.
  • Vain heitettävän luokan esineitä voidaan heittää viskusanalla. Jos heitetty esine ei ole heitettävän luokan esine, niin saamme käännösaikavirheen “Yhteensopimaton tyyppi löytyi. . vaaditaan java.lang.trootettava ”

merkintä:

Heitä avainsanaa käytetään C ++, JAVA, C #, poikkeuksen manuaalinen heittäminen.

Määritelmä heittää

"heittää”Avainsanaa käytetään siirtämään vastuu menetelmässä tapahtuneen poikkeuksen käsittelystä sen soittajamenetelmään. Soittajamenetelmä on vastuussa poikkeuksen käsittelystä. Se voi olla mikä tahansa muu menetelmä tai JVM. Se ilmoittaa luettelon poikkeusluokista, joita voi esiintyä menetelmässä.

Heittää avainsanan käyttö vakuuttaa kääntäjän, että menetelmässä tapahtunut poikkeus on hoidettava soittajamenetelmällä, joten käännösvirhettä ei tapahdu. Soittajamenetelmän on kuitenkin käsiteltävä poikkeus tai siirrettävä vastuu käsitellä poikkeus sen hierarkiamenetelmään. Kun ajonaikaista poikkeusta esiintyy, se ei estä myöskään heitto-avainsanan käytön jälkeen ohjelman epänormaalia lopettamista. Jos soittajamenetelmä on pää (), oletuksena JVM käsittelee poikkeuksen.

Heittojen avainsanan yleinen muoto on:

return_type method_name (parametriluettelo) heittää poikkeusluokan_luettelon {// menetelmän runko}

Voimme nähdä, että heittää avainsana ilmestyy menetelmän allekirjoituksen jälkeen, ja se voi sisältää luettelon menetelmässä mahdollisesti esiintyvistä poikkeusluokista. Avainsanan heittämisen jälkeen kirjoitettu poikkeusluokkien luettelo erotetaan pilkulla.

Otetaan yksi esimerkki heittää avainsana.

calss Test {julkinen staattinen tyhjä pää (merkkijonot) heittää InterruptedException {lanka nukkua (10000); }}

Yllä olevassa koodissa päälanka saatetaan nukkumaan jonkin aikaa nukkumistapaa () käyttämällä. Nyt kun päämenetelmä on nukkumassa, on mahdollista, että muut langat voivat keskeyttää päälangan. Mutta heitto-avainsanaa käytetään main () -menetelmän allekirjoittamisen jälkeen, joten ohjelma kokoaa helposti. Heittää avainsana julistaa valitun poikkeusluokan InterruptedException. Nyt, jos jokin muu säie keskeyttää päälangan suorituksen aikana, heittää avainsana luovuttaisi kyseisen poikkeuksen main () -soittajan menetelmälle, joka on JVM. JVM lopettaa ohjelman epänormaalisti.

Heti avainsanan muistettavat kohdat:

  • Heittää avainsanaa käytetään vain valittujen poikkeusluokkien ilmoittamiseen. Heittää avainsanan käytöllä tarkistamaton poikkeus ei ole vaikutusta.
  • Jos menetelmä ei halua käsitellä poikkeusta yksinään, se delegoi kyseisen poikkeuksen kyseisen luokan soittajamenetelmälle käyttämällä heittää-avainsanaa.
  • Sen käyttö mahdollistaa vain ohjelman sujuvan kokoamisen.
  • Jos poikkeus tapahtuu ajon aikana, ohjelma päättyy epänormaalisti, jopa heitto-avainsanan käytön jälkeen.
  • On suositeltavaa käyttää try / catch-lohkoa ohjelman normaaliin lopettamiseen, jos poikkeus tapahtuu ajon aikana.

merkintä:

Avainsananheitot, joita käytetään vain Java. C ++ ja C # eivät käytä heitto-avainsanaa.

  1. Avainsananheitto, poikkeuksen käsittelyn vastuun luovuttaminen JVM: lle manuaalisesti, kun taas avainsana heittää, poikkeuksen käsittelyn vastuun luovuttamisen koodin soittajamenetelmälle, jossa poikkeus on tapahtunut.
  2. Heittokanaa seuraa poikkeusobjekti, jonka se luovuttaa JVM: lle. Toisaalta heittää avainsanaa seuraa poikkeusluokat, joita voi esiintyä menetelmässä.
  3. Heitä avainsana voi heittää yhden poikkeusobjektin kerrallaan, kun taas heittää avainsana voi julistaa useita poikkeusluokkia, erotettuna pilkulla kerrallaan.

johtopäätös:

Heittää avainsanaa käytetään parhaiten räätälöityyn poikkeukseen. Yritä / saalis-lohko on paras käsittelemään poikkeuksia verrattuna heittää avainsana.