Suositeltava, 2024

Toimituksen Valinta

Ero heittää ja heittää Java

Heittää ja heittää ovat avainsanoja, joita käytetään poikkeuksen käsittelyssä. Heittää avainsanaa käytetään luovuttamaan ohjelmoijan luoman poikkeuksen ilmentymä JVM: ään manuaalisesti. Menetelmä, jolla luovutettiin poikkeuksen käsittelyyn liittyvä vastuu, oli menetelmässä käytetty soittajan menetelmään. Perusero heittää ja heittää on se, että heittää avainsana käyttää poikkeusobjektia, kun taas heittää avainsana käyttää poikkeusluokkien nimeä.

Vertailukaavio

Vertailun perusteetheittääheittää
perustiedotHeittää avainsana luovuttaa luodun poikkeuksen objektin JVM: lle manuaalisesti.Heittää avainsanaa käytetään siirtämään poikkeuksen käsittelyn vastuu menetelmän soittajalle.
Syntaksiheittää heitettävissä oleva esimerkki;return_type method_name (parametriluettelo) heittää ExceptionClass_list
{
// menetelmän rakenne
}
Jonka jälkeenHeittää avainsanaa seuraa poikkeusobjekti.Heittää avainsanaa seuraa luettelo poikkeusluokista, joita menetelmässä voi esiintyä.
Poistettujen poikkeusten määräHeittää avainsana voi heittää yhden poikkeuksen tapauksessa.Heiton avainsana voi ilmoittaa useita poikkeusluokkia, jotka on erotettu pilkulla.

Määrittely heittää

Avainsanaa ” heittää ” käytetään luovutetun poikkeustapauksen luovuttamiseen JVM: lle (Java Virtual Machine) manuaalisesti. Jos "heittää" ei käytetä poikkeustapauksen heittämiseen ja poikkeus tapahtuu, runtime-järjestelmä heittää poikkeustapauksen JVM: ään ja ohjelma päättyy epänormaalisti. Heittää avainsanan yleinen muoto on:

 heittää Throwable_instance; 

Heittokelpoisen aineen yläpuolella on oltava luokan Heittokelpoinen kohde. Primitiivisiä tyyppejä, kuten int, float tai char ja ei-heitettävää luokkakohtaa, ei voida heittää käyttämällä avainsanaa.

Otetaan esimerkki ymmärtääksesi avainsananheiton.

 Class Test {Public static void main (String [] args) {heitä uusi ArithmeticException ("/ nolla"); }} 

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

Avainsananheitosta muistettavat kohdat:

  • Se siirtää poikkeusobjektin manuaalisesti JVM: ään.
  • Sitä käytetään parhaiten käyttäjän määrittämiin poikkeuksiin tai mukautettuihin poikkeuksiin.
  • Jos muistia ei ole varattu heittää avainsanan heittämän poikkeusobjektin kohdalle, tapahtuu runtime-poikkeus, NullPointerException.
  • Heittää avainsana estää ohjelman suorittamisen välittömästi sen esiintymisen jälkeen. emme voi suoraan kirjoittaa mitään lausuntoa heittolausuman jälkeen. Jos kirjoitamme minkä tahansa aseman suoraan heittolausekkeen jälkeen, kääntäjä näyttää virheen, saavuttamattoman lausunnon kokoamisen aikana.
  • Vain heittokelpoisen luokan kohteita voidaan heittää käyttämällä avainsanaa. Jos heitetty kohde ei ole luokan Throwable-objekti, saadaan kompilointiajan virhe. ”Yhteensopimaton tyyppi löytyi. . vaadittu java.lang.Throwable ”

Huomautus:

Heittää avainsanaa käytetään C ++: ssa, JAVA: ssa, C #: ssä poikkeukselle.

Määritelmä heittää

Avainsanaa " heittää " käytetään siirtämään menetelmässä käsitellyn poikkeuksen käsittelyn vastuu sen soittajan menetelmään. Soittajan menetelmä vastaa poikkeuksen käsittelystä, joka voi olla mikä tahansa muu menetelmä tai JVM. Se ilmoittaa luettelon menetelmässä mahdollisesti esiintyvistä poikkeusluokista.

Heittotunnuksen käyttö vakuuttaa kääntäjän, että menetelmässä tapahtunut poikkeus käsitellään soittajan menetelmällä, joten kompilointivirheitä ei esiinny. Soittajan menetelmässä on kuitenkin käsiteltävä poikkeusta tai siirrettävä vastuu käsittelemään poikkeuksen hierarkiamenetelmää. Kun runtime-poikkeus tapahtuu, se ei myöskään estä ohjelman epänormaalia lopettamista sen jälkeen, kun käytät avainsanaa. Jos soittajamenetelmä on tärkein (), JVM käsittelee oletusarvoisesti poikkeuksen.

Heittää avainsanan yleinen muoto on:

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

Voimme nähdä, että hakusanan avainsana näkyy menetelmän allekirjoituksen jälkeen, ja se voi sisältää luettelon poikkeusluokista, joita voi esiintyä menetelmässä. Luettelo avainsanoista, jotka on kirjoitettu avainsananheittojen jälkeen, on erotettu pilkulla.

Otetaanpa yksi esimerkki ymmärtääksemme heittää avainsanan.

 calss Test {public static void main (String [] args) heittää keskeytetytException {thread sleep (10000); }} 

Yllä olevassa koodissa pääkierre nukkuu jonkin aikaa unen () menetelmällä. Nyt kun päämenetelmä on nukkumassa, on mahdollista, että muut kierteet voivat keskeyttää päälangan. Mutta heittää avainsanaa käytetään pää () -menetelmän allekirjoituksen jälkeen, joten ohjelma kääntyy helposti. Heiton avainsana ilmoittaa tarkistetun poikkeusluokan Keskeytetty poikkeama. Jos jokin muu kierre keskeyttää päälangan ajon aikana, heittää avainsanan luovuttamaan tämän poikkeuksen pää () -menetelmän soittajalle, joka on JVM. JVM lopettaa ohjelman epänormaalisti.

Pistettä koskevista avainsanoista muistettavat kohdat:

  • Heittää avainsanaa käytetään vain tarkistettujen poikkeusluokkien ilmoittamiseen. Epäonnistumattoman poikkeuksen käyttäminen heittää avainsanaa ei vaikuta.
  • Jos menetelmä ei halua käsitellä poikkeusta yksinään, se siirtää tämän poikkeuksen kyseisen luokan soittajan menetelmään käyttämällä heittää avainsanaa.
  • Sen käyttö mahdollistaa vain ohjelman sujuvan kokoamisen.
  • Jos poikkeus tapahtuu ajon aikana, ohjelma päättyy epänormaalisti, vaikka heittää avainsanan.
  • On suositeltavaa käyttää kokeiluversiota ohjelman normaaliin lopettamiseen, jos käyttöaikana tapahtuu poikkeus.

Huomautus:

Avainsana heittää vain Java: ssa. C ++ ja C # eivät käytä heittää avainsanaa.

Keskeiset erot heittää ja heittää

  1. Avainsana heittää, luovuttaa poikkeusvastuun vastuun JVM: lle manuaalisesti, kun avainsana heittää, luovuttaa poikkeusvastuun vastuun koodin soittajan menetelmälle, jossa poikkeus on tapahtunut.
  2. Heittää avainsanaa seuraa poikkeusobjekti, jonka se luovuttaa JVM: lle. Toisaalta heittää avainsanoja seuraa poikkeusluokat, joita menetelmässä voi esiintyä.
  3. Heittää avainsana voi heittää yhden poikkeusobjektin kerrallaan, kun taas heittää avainsana voi ilmoittaa useita poikkeusluokkia erotettuna pilkulla kerrallaan.

johtopäätös:

Heittää avainsanaa käytetään parhaiten räätälöityyn poikkeukseen. Try / catch -lohko on paras tapa käsitellä poikkeuksia verrattuna heittää avainsanan.

Top