Razlika između bacanja i bacanja na Javi

Autor: Laura McKinney
Datum Stvaranja: 1 Travanj 2021
Datum Ažuriranja: 14 Svibanj 2024
Anonim
Rajko Bundalo - Razlika Između Puta Božjeg i Puta Bezbožničkog
Video: Rajko Bundalo - Razlika Između Puta Božjeg i Puta Bezbožničkog

Sadržaj


Bacanja i bacanja su ključne riječi koje se koriste u rukovanju iznimkama. bacanje ključna riječ koristi se za ručnu predaju instancije iznimke koju je programer stvorio u JVM. baca ključna riječ koja se koristi za predaju odgovornosti za rukovanje iznimkom koja se dogodila u metodi metodi pozivatelja. Osnovna razlika između bacanja i bacanja je da ključna riječ koristi objekt izuzeća, dok ključna riječ bacanje koristi naziv klasa izuzetaka.

  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove usporedbebacanjebaca
Osnovni, temeljniRukovanje našim kreiranim objektom izuzeća JVM-u predaje ključnu riječ bacanje.Ključna riječ bacanja koristi se za delegiranje odgovornosti rukovanja iznimkama na pozivatelja metode.
Sintaksabaciti Throwable-instance;return_type method_name (popis parametara) izbacuje List ExceptionClass_list
{
// tijelo metode
}
SlijediKljučna riječ bacanje slijedi objekt iznimke.Ključna riječ bacanja prati popis klasa izuzetaka koji se mogu pojaviti u metodi.
Broj bačenih izuzetakaKljučna riječ bacanje može baciti jednu instancu iznimke.Ključna riječ bacanja može deklarirati više klasa izuzetaka odvojenih zarezom.


Definicija bacanja

Ključna riječ "bacanje"Koristi se za ručno uručenje naše stvorene instance iznimke u JVM (Java Virtual Machine). Ako se "bacanje" ne koristi za izbacivanje primjerka iznimke i dogodi se iznimka, tada sustav izvođenja interno baca instancu iznimke u JVM i program se prekida nenormalno. Opći oblik ključne riječi bacanja je:

baciti Throwable_instance;

Iznad Throwable_instanca mora biti objekt klase Throwable. Primitivne vrste kao što su int, float ili char i instanca klase koja se ne može baciti ne mogu se izbaciti pomoću ključne riječi baciti.

Uzmimo primjer za razumijevanje bacanja ključne riječi.

Test klase {Public statički nevaljani glavni (String args) {bacite novu ArithmeticException ("/ po nuli"); }}

U gornjem kôdu, ključna riječ baca instancu klase iznimke "ArithmeticException". Da se tada nije koristila ključna riječ bacanje, metoda main () interno bi stvorila objekt iznimke koji je predan JVM-u.


Točke koje treba zapamtiti o ključnoj riječi:

  • Objekt iznimke ručno predaje JVM-u.
  • Najbolje se koristi za iznimke koje su definirane od strane korisnika ili prilagođene iznimke.
  • Ako memorija nije dodijeljena objektu iznimke koji je izbačen ključnom riječi, tada nastaje iznimka za vrijeme izvođenja, NullPointerException.
  • Ključna riječ bacanje zaustavlja izvršenje programa odmah nakon njegovog pojavljivanja. nakon izjave bacanja ne možemo izravno napisati nijednu izjavu. Ako bilo koji stav napišemo odmah nakon izjave o izbacivanju, tada će prevoditelj tijekom pogreške sastaviti poruku o pogrešci, nedostupnosti.
  • Pomoću ključne riječi bacanje mogu se izbaciti samo objekti klase Throwable. Ako bačeni objekt nije objekt klase Throwable, tada dobivamo pogrešku u sastavljanju „Nepodudarni tip je pronađen. , potreban java.lang.Throwable ”

Bilješka:

Ključna riječ bacanje koristi se u C ++, JAVA, C # za ručno bacanje iznimke.

Definicija bacanja

The "baca”Ključna riječ koristi se za prenošenje odgovornosti za rukovanje iznimkom koja se dogodila u metodi na njezinu metodu pozivatelja. Metoda pozivatelja odgovorna je za rukovanje s izuzetkom, to može biti bilo koja druga metoda ili JVM. Deklarira popis klasa izuzetaka koji se mogu pojaviti u metodi.

Upotreba ključne riječi bacanja uvjerava prevoditelja da je izuzetak u metodi trebao tretirati metoda pozivatelja, stoga ne dolazi do pogreške u sastavljanju. Ali, metoda pozivatelja mora obraditi iznimku ili prenijeti odgovornost za rukovanje iznimkom na njezinu hijerarhijsku metodu. Kada se dogodi iznimka za vrijeme izvođenja, čak i nakon upotrebe ključne riječi bacanja, to ne sprječava nenormalni prekid programa. Ako je metoda pozivatelja glavna (), zadana JVM obrađuje iznimku.

Opći oblik ključne riječi bacanja je:

return_type method_name (popis parametara) izbacuje iznimkuClass_list {// tijelo metode}

Vidimo da se ključna riječ bacanje pojavljuje nakon potpisa metode, a može sadržavati popis klasa iznimki koje se mogu pojaviti u metodi. Popis klasa izuzetaka napisanih nakon bacanja ključne riječi odijeljen je zarezom.

Uzmimo jedan primjer za razumijevanje ključne riječi bacanja.

calss test {javna statička praznina glavna (Gudački argovi) izbacuje InterruptedException {nit spavanja (10000); }}

U gornjem kodu glavna nit se zaspi neko vrijeme pomoću metode sleep (). Sada, kada je glavna metoda u snu, moguće je da će ostale niti prekinuti glavnu nit. No, ključna riječ bacanja koristi se nakon potpisa glavne () metode, pa bi se program lako sastavio. Ključna riječ bacanja deklarira provjerenu klasu izuzetaka InterruptedException. Sad, ako bilo koja druga nit prekine glavnu nit za vrijeme izvođenja, ključna riječ bacanje predala bi tu iznimku pozivaču glavne () metode, a to je JVM. JVM bi program nenormalno prekinuo.

Točke koje treba zapamtiti o ključnoj riječi bacanja:

  • Ključna riječ bacanja koristi se samo za proglašavanje provjerenih klasa izuzetaka. Korištenje ključne riječi bacanja za neprovjerenu iznimku nema utjecaja.
  • Ako metoda ne želi samostalno obraditi iznimku, delegira tu iznimku metodi pozivatelja iz te klase pomoću ključne riječi bacanje.
  • Njegova upotreba omogućava samo glatku kompilaciju programa.
  • Ako se iznimka dogodi za vrijeme izvršavanja, program se prekida nenormalno, čak i nakon korištenja ključne riječi bacanja.
  • Preporučuje se korištenje try / catch bloka za normalan prekid programa, ako se tijekom izvođenja dogodi iznimka.

Bilješka:

Bacanje ključne riječi koristi se samo u Javi. C ++ i C # ne koriste ključnu riječ "bacanja".

  1. Bacanje ključne riječi, ručna predaja odgovornosti za izuzeće rukovanje JVM-om, dok ključna riječ baca, prenošenje odgovornosti rukovanja iznimkama na način pozivatelja kodova gdje se dogodila iznimka.
  2. Ključna riječ bacanje slijedi objekt iznimke koji predaje JVM-u. S druge strane, ključnu riječ bacanja prate klase izuzetaka koje se mogu pojaviti u metodi.
  3. Ključna riječ bacanje može istodobno bacati jedan objekt iznimke, dok ključna riječ bacanje može deklarirati više klasa izuzetaka odvojenih zarezom odjednom.

Zaključak:

Ključna riječ bacanje najbolje se koristi za prilagođenu iznimku. Blok pokušaj / ulov je najbolji za obradu izuzetaka u usporedbi s ključnom riječi.