Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi hodmi a hodmi v jazyku Java

Hody a hody sú kľúčové slová používané pri spracovaní výnimiek. Hodové kľúčové slovo sa používa na manuálne odovzdanie inštancie vytvorenej programátorom do JVM. Hlásenie kľúčového slova použité na odovzdanie zodpovednosti za spracovanie výnimky sa vyskytlo v metóde metóde volajúceho. Základný rozdiel medzi hodmi a hodmi je, že kľúčové slovo throw používa objekt výnimky, zatiaľ čo kľúčové slovo throws používa názov tried výnimiek.

Porovnávacia tabuľka

Základy porovnaniahodiťhádže
základnéKľúčové slovo throw throw handover objekt JVM vytvorený ručne.Kľúčové slovo hodí sa na delegovanie zodpovednosti za spracovanie výnimiek volajúcemu metódy.
syntaxthrow Throwable-instance;return_type method_name (parameter-list) hodí ExceptionClass_list
{
// metóda
}
NasledovanýKľúčové slovo hodu je nasledované objektom výnimky.Kľúčové slovo hodí potom nasledujúci zoznam tried výnimiek, ktoré sa môžu vyskytnúť v metóde.
Počet vylúčených výnimiekHodové kľúčové slovo môže hodiť jednu výnimku.Kľúčové slovo throws môže deklarovať viac tried výnimiek oddelených čiarkou.

Definícia hodu

Kľúčové slovo " hodiť " sa používa na manuálne zadanie inštancie vytvorenej výnimky do JVM (Java Virtual Machine). Ak sa "hodenie" nepoužíva na vyvolanie inštancie výnimky a výnimka nastane, systém runtime internou vyhodí inštanciu výnimky do JVM a program sa ukončí abnormálne. Všeobecná forma kľúčového slova je:

 throw Throwable_instance; 

Nad položkou Throwable_instance musí byť objekt triedy Throwable. Primárne typy ako int, float alebo char a nevhodná inštancia triedy nemôžu byť vyhodené pomocou kľúčového slova throw.

Urobme príklad, aby sme pochopili kľúčové slovo hodiť.

 Test triedy {public static void main (reťazec [] args) {hodiť nový ArithmeticException ("/ nula"); }} 

Vo vyššie uvedenom kóde kľúčové slovo throw hodí inštanciu triedy výnimiek "ArithmeticException". Ak nebolo použité kľúčové slovo, metóda main () by interne vytvorila objekt výnimky odovzdaný JVM.

Body, ktoré si treba zapamätať o kľúčových slovách:

  • Predávajúci výnimočný objekt ručne odosiela JVM.
  • Najlepšie sa používa pre výnimky definované používateľom alebo prispôsobené výnimky.
  • Ak pamäť nie je priradená k výnimočnému objektu, ktorý je hodený hromadným kľúčom, nastane výnimka runtime, NullPointerException.
  • Hodnocené kľúčové slovo zastaví vykonanie programu ihneď po jeho výskyte. nemôžeme priamo písať žiadne vyhlásenie po vyhlásení hodu. Ak napíšeme akýkoľvek úryvok priamo po vyhlásení hodu, potom kompilátor zobrazí chybu, nedosiahnuteľné vyhlásenie počas kompilácie.
  • Iba objekty triedy Throwable možno vyhodiť pomocou kľúčového slova throw. Ak nie je objekt, ktorý je hodený, objektom triedy Throwable, dostaneme chybu kompilácie. "Nebolo nájdené inkompatibilný typ., požadované java.lang.Throwable "

Poznámka:

Hodinové kľúčové slovo sa používa v jazykoch C ++, JAVA, C #, aby sa ručne hodila výnimka.

Definícia hodov

Kľúčové slovo " hod " slúži na delegovanie zodpovednosti za spracovanie výnimky, ktorá sa vyskytla v metóde, na jej spôsob volajúceho. Metóda volajúceho je zodpovedná za spracovanie výnimky, akou môže byť akákoľvek iná metóda alebo JVM. Vyhlasuje zoznam tried výnimiek, ktoré sa môžu vyskytnúť v metóde.

Použitie kľúčového slova throws presvedčí kompilátora, že výnimka sa vyskytla v metóde, má byť spracovaná metódou volajúceho, takže nedôjde k chybe kompilácie. Metóda volajúceho však musí spracovať výnimku alebo delegovať zodpovednosť za spracovanie výnimky z jej hierarchickej metódy. Keď sa vyskytne výnimka pri spustení, potom aj po použití kľúčového slova vyhadzovanie nebráni abnormálnemu ukončeniu programu. Ak je metóda volajúceho hlavná (), štandardne JVM spracuje výnimku.

Všeobecná forma kľúčového slova hodov je:

 return_type method_name (zoznam parametrov) hodí výnimkuClass_list {// body of method} 

Môžeme vidieť, že kľúčové slovo throws sa zobrazí 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 hodoch kľúčových slov je oddelený čiarkou.

Vezmime si jeden príklad na pochopenie kľúčového slova hodov.

 calss Test {verejná statická void main (String [] args) hodí InterruptedException {vlákno sleep (10000); }} 

Vo vyššie uvedenom kóde sa hlavné vlákno spája nejaký čas pomocou metódy spánok (). Teraz, keď je hlavná metóda v režime spánku, je možné, že ostatné vlákna môžu prerušiť hlavnú niť. Ale kľúčové slovo throws sa používa po podpisovaní metódy main () tak, že program bude ľahko zostavovať. Kľúčové slovo throws deklaruje triedu výnimky InterruptedException. Teraz, ak akékoľvek iné vlákno preruší hlavnú niť počas behu, kľúčové slovo hodí odovzdá túto výnimku volajúcemu metóde main (), čo je JVM. Program JVM ukončí program abnormálne.

Body, ktoré si treba zapamätať, sa týkajú kľúčových slov:

  • Kľúčové slovo throws sa používa iba na deklarovanie kontrolovaných tried výnimiek. Použitie kľúčového slova hodenia pre nekontrolovanú výnimku nemá žiadny vplyv.
  • Ak metóda nechce zvládnuť túto výnimku samostatne, deleguje túto výnimku na metódu volajúceho v tejto triede pomocou kľúčového slova hodov.
  • Jeho používanie umožňuje len plynulú kompiláciu programu.
  • Ak sa vyskytne výnimka pri behu, program sa ukončí abnormálne aj po použití kľúčového slova hodov.
  • Odporúča sa použiť try / catch blok pre normálne ukončenie programu, ak sa vyskytne výnimka pri behu.

Poznámka:

Kľúčové slovo sa používa iba v jazyku Java. C ++ a C # nepoužívajú kľúčové slovo hodov.

Kľúčové rozdiely Medzi hodmi a hodmi

  1. Kľúčové slovo hodí, ruka zodpovednosť za spracovanie výnimiek na JVM ručne, zatiaľ čo kľúčové slovo hodí, odovzdá zodpovednosť za spracovanie výnimiek na metódu volajúceho kódu, kde došlo k výnimke.
  2. Kľúčové slovo throw je nasledované objektom výnimky, ktorý odovzdá JVM. Na druhej strane, kľúčové slovo throws nasleduje triedy výnimiek, ktoré sa môžu vyskytnúť v metóde.
  3. Hodinové kľúčové slovo môže hádzať naraz jeden objekt výnimky, zatiaľ čo kľúčové slovo hodí môže deklarovať viac tried výnimiek oddelených čiarkou naraz.

záver:

Výrazové kľúčové slovo sa najlepšie používa pre prispôsobenú výnimku. Try / catch block je najlepšie na spracovanie výnimiek v porovnaní s kľúčovými slovami.

Top