Rozdiel medzi hodmi a hodmi v Java

Autor: Laura McKinney
Dátum Stvorenia: 1 Apríl 2021
Dátum Aktualizácie: 15 Smieť 2024
Anonim
50Hz vs 60Hz vs 100Hz vs 120Hz - CS:GO
Video: 50Hz vs 60Hz vs 100Hz vs 120Hz - CS:GO

Obsah


Hádzať a hádzať sú kľúčové slová používané pri manipulácii s výnimkami. hodiť Kľúčové slovo sa používa na manuálne odovzdanie inštancie výnimky, ktorú vytvoril programátor, do JVM. hádže kľúčové slovo použité na odovzdanie zodpovednosti za spracovanie výnimky, ktorá sa vyskytla v metóde, na metódu volajúceho. Základný rozdiel medzi hodmi a hodmi je v tom, že kľúčové slovo throw používa objekt výnimka, zatiaľ čo kľúčové slovo throw vyvolá názov tried výnimiek.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ porovnaniahodiťhádže
základnéHádzané kľúčové slovo odovzdá náš vytvorený objekt výnimky manuálne do JVM.Kľúčové slovo vyvolá sa používa na delegovanie zodpovednosti za spracovanie výnimiek na volajúceho metódy.
syntaxhádzať inštancie;return_type method_name (parameter-list) vyvolá ExceptionClass_list
{
// telo metódy
}
NasledovanýZa kľúčovým slovom throw nasleduje objekt výnimiek.Za kľúčovým slovom vyvolá zoznam tried výnimiek, ktoré sa môžu vyskytnúť v metóde.
Počet vyvolaných výnimiekKľúčové slovo throw môže vrhnúť jednu inštanciu výnimky.Kľúčové slovo vyvolá deklarovanie viacerých tried výnimiek oddelených čiarkou.


Definícia hodu

Kľúčové slovo „hodiť“Sa používa na manuálne odovzdanie našej vytvorenej inštancie výnimky do JVM (Java Virtual Machine). Ak sa „throw“ nepoužíva na vyvolanie inštancie výnimky a nastane výnimka, potom runtime systém interne vyvolá inštanciu výnimky na JVM a program sa ukončí neobvykle. Všeobecná forma kľúčového slova vyvolávania je:

throw Throwable_instance;

Nad Throwable_instance musí byť objekt triedy Throwable. Primitívne typy ako int, float alebo char a inštancia triedy, ktorú nemožno hádzať, nie je možné hodiť pomocou kľúčového slova throw.

Urobme príklad, aby sme pochopili hádanie kľúčových slov.

Test triedy {Public static void main (String args) {throw new ArithmeticException ("/ by zero"); }}

V uvedenom kóde vyvolá kľúčové slovo throw inštanciu triedy Exception „ArithmeticException“. Keby nebolo kľúčové slovo throw použité, metóda main () by interne vytvorila objekt výnimky odovzdaný JVM.


Body, ktoré si treba zapamätať o hode pre kľúčové slovo:

  • Ručne odovzdá objekt výnimky do JVM.
  • Najlepšie sa používa pre užívateľom definované výnimky alebo prispôsobené výnimky.
  • Ak pamäť nie je priradená k objektu výnimky vyvolanému kľúčovým slovom throw, vyskytne sa runtime výnimka NullPointerException.
  • Kľúčové slovo throw zastaví vykonávanie programu ihneď po jeho výskyte. za príkazom throw nemôžeme priamo napísať žiadne vyhlásenie. Ak napíšeme akékoľvek zarovnanie ihneď po príkazu throw, kompilátor zobrazí počas kompilácie chybu, nedostupný príkaz.
  • Iba objekty triedy Throwable sa dajú hádzať pomocou kľúčového slova throw. Ak hodený objekt nie je objektom triedy Throwable, dostaneme chybu kompilácie „Zistil sa nekompatibilný typ. , povinné java.lang.Throwable “

Poznámka:

Kľúčové slovo throw sa používa v jazykoch C ++, JAVA, C # na ručné vyvolanie výnimky.

Definícia hodov

hádže”Kľúčové slovo sa používa na delegovanie zodpovednosti za spracovanie výnimky, ktorá sa vyskytla v metóde, na metódu volajúceho. Metóda volajúceho je zodpovedná za spracovanie výnimky, môže to byť akákoľvek iná metóda alebo JVM. Deklaruje zoznam tried výnimiek, ktoré sa môžu vyskytnúť v metóde.

Použitie kľúčového slova vyvolá presvedčenie kompilátora, že výnimka, ktorá sa vyskytla v metóde, má byť spracovaná metódou volajúceho, preto nedochádza k žiadnej chybe pri kompilácii. Metóda volajúceho však musí spracovať výnimku alebo delegovať zodpovednosť za spracúvanie výnimky z jej metódy hierarchie. Keď sa vyskytne výnimka runtime, potom ani po použití kľúčového slova vyvolá to nebráni abnormálnemu ukončeniu programu. Ak je metóda volajúceho main (), predvolene spracováva JVM výnimku.

Všeobecná forma kľúčového slova vyvolávajúceho hody je:

return_type method_name (parameter-list) vyvolá výnimkuClass_list {// telo metódy}

Vidíme, že kľúčové slovo vyvolá po podpísaní metódy a môže obsahovať zoznam tried výnimiek, ktoré sa môžu vyskytnúť v metóde. Zoznam tried výnimiek napísaných po vyvolaní kľúčového slova je oddelený čiarkou.

Vezmime si jeden príklad na porozumenie kľúčového slova vyvolávajúceho hody.

test calss {public static void main (String args) vyvolá prerušenú výnimku {thread sleep (10000); }}

Vo vyššie uvedenom kóde sa hlavné vlákno určitý čas prepína do režimu spánku (). Teraz, keď je hlavná metóda v režime spánku, je možné, že ostatné vlákna môžu prerušiť hlavné vlákno. Kľúčové slovo vyvolá, ale používa sa po podpise metódy main (), takže by sa program dal ľahko kompilovať. Kľúčové slovo vyvolá deklaruje začiarknutú triedu výnimiek InterruptedException. Ak by akékoľvek iné vlákno počas behu prerušilo hlavné vlákno, kľúčové slovo vyvolá túto výnimku volajúcemu metóde main (), ktorým je JVM. Program JVM by program ukončil neobvykle.

Body, ktoré si treba zapamätať, vyvolávajú kľúčové slovo:

  • Kľúčové slovo vyvolá sa používa iba na deklarovanie začiarknutých tried výnimiek. Použitie kľúčového slova vyvoláva pre nekontrolovanú výnimku nemá žiadny vplyv.
  • Ak metóda nechce spracovať výnimku sama, deleguje túto výnimku na metódu volajúceho tejto triedy pomocou kľúčového slova vyvolá.
  • Jeho použitie umožňuje len hladké zostavenie programu.
  • Ak sa za behu programu vyskytne výnimka, program sa ukončí nezvyčajne, dokonca aj po použití kľúčového slova vyvolávania.
  • Ak sa počas behu programu vyskytne výnimka, odporúča sa použiť blok try / catch na normálne ukončenie programu.

Poznámka:

Kľúčové slovo vyvolá použitie iba v jazyku Java. C ++ a C # nepoužívajú kľúčové slovo vyvolávania.

  1. Kľúčové slovo vyhodí zodpovednosť za spracovanie výnimiek do JVM manuálne, zatiaľ čo kľúčové slovo zahodí, zodpovednosť za spracovanie výnimky odovzdá volajúcemu spôsobu kódu, v ktorom nastala výnimka.
  2. Za kľúčovým slovom throw nasleduje objekt výnimiek, ktorý odovzdá JVM. Na druhej strane vyvoláva kľúčové slovo triedy výnimiek, ktoré sa môžu vyskytnúť v metóde.
  3. Kľúčové slovo throw môže hádzať naraz iba jeden objekt výnimky, zatiaľ čo kľúčové slovo throw môže deklarovať viacero tried výnimiek oddelených čiarkou súčasne.

záver:

Kľúčové slovo throw sa najlepšie používa pre prispôsobenú výnimku. Blok try / catch je najvhodnejší na riešenie výnimiek v porovnaní s kľúčovým slovom vyvolávajúcim hod.