Priporočena, 2024

Izbira Urednika

Razlika med metanjem in metanjem v Javi

Vrzi in meti so ključne besede, ki se uporabljajo pri ravnanju z izjemami. Ključna beseda throw se uporablja za ročno prenos primerka izjeme, ki ga je programer ustvaril na JVM. Ključna beseda metov, ki se uporablja za predajo odgovornosti za ravnanje z izjemo, se je pojavila v metodi za metodo klicatelja. Osnovna razlika med metom in metom je, da ključna beseda throw uporablja predmet izjeme, medtem ko ključna beseda throws uporablja ime razredov izjem.

Primerjalna tabela

Osnova za primerjavometmetov
OsnovnoKljučna beseda throw v roki preda našemu ustvarjenemu objektu izjema.Ključna beseda throws se uporablja za prenos odgovornosti za obdelavo izjem na klicatelja metode.
Sintaksametati Throwable-instance;return_type method_name (parameter-list) vrne seznam ExceptionClass_list
{
// telo metode
}
SlediKljučni besedi throw sledi objekt izjeme.Ključni besedi throws sledi seznam razredov izjem, ki se lahko pojavijo v metodi.
Število vrnjenih izjemKljučna beseda throw lahko vrže samo en primerek izjeme.Ključna beseda metov lahko razglasi več razredov izjem, ločenih z vejico.

Opredelitev meta

Ključna beseda » throw « se uporablja za ročno predajo našega ustvarjenega primera izjeme JVM (Java Virtual Machine). Če se “throw” ne uporablja za metanje izjeme za izjeme in pride do izjeme, potem izvajalni sistem interno vrne primerek izjeme v JVM in program se neobičajno konča. Splošna oblika ključne besede throw je:

 throw Throwable_instance; 

Nad Throwable_instance mora biti objekt razreda Throwable. Primitivnih tipov, kot so int, float ali char in primerek razreda, ki ga ni mogoče vrniti, ni mogoče uporabiti ključne besede throw.

Vzemimo za primer razumevanje ključne besede.

 Preskus razreda {javna statična neveljavna glavna (String [] args) {met new ArithmeticException ("/ by zero"); }} 

V zgornji kodi ključna beseda throw vrže primerek razreda izjeme »ArithmeticException«. Če ključna beseda throw takrat še ni bila uporabljena, bi metoda main () interno ustvarila objekt izjeme, ki bi ga predal JVM.

Točke, ki si jih morate zapomniti o ključni meti:

  • Predmet izjeme ročno prenese na JVM.
  • To je najbolje uporabiti za uporabniško določene izjeme ali prilagojene izjeme.
  • Če pomnilnik ni dodeljen predmetu izjeme, ki ga vrže ključna beseda throw, se pojavi izjema v času izvajanja, NullPointerException.
  • Ključna beseda throw ustavi izvajanje programa takoj po njenem nastanku. po izjavi ni mogoče neposredno napisati nobene izjave. Če zapišemo katerokoli stanje neposredno po izjavi, potem bo prevajalnik med prevajanjem prikazal napako, nedosegljiv stavek.
  • Samo predmete razreda Throwable lahko vržete z uporabo ključne besede throw. Če vrženi predmet ni predmet razreda Throwable, potem pride do napake pri prevajanju: »Incompatible type found. . obvezno java.lang.Throwable "

Opomba:

Ključna beseda throw se uporablja v C ++, JAVA, C #, za ročno vrganje izjeme.

Opredelitev metov

Ključna beseda » throws « se uporablja za prenos odgovornosti za ravnanje z izjemo, ki je nastala v metodi, na njeno metodo klicatelja. Klicna metoda je odgovorna za ravnanje z izjemo, ki je lahko katera koli druga metoda ali JVM. Izjavi seznam razredov izjem, ki se lahko pojavijo v metodi.

Uporaba ključne besede throws prepriča prevajalnik, da se izjema v metodi obravnava s klicno metodo, zato ne pride do napake pri prevajanju. Vendar pa mora metoda kličočega obravnavati izjemo ali prenesti odgovornost za obravnavo izjeme pri svoji hierarhični metodi. Ko pride do izjeme med izvajanjem, potem tudi po uporabi ključne besede metanja, to ne preprečuje nenormalne prekinitve programa. Če je metoda klicalca glavna (), privzeto JVM obravnava izjemo.

Splošna oblika ključne besede metov je:

 return_type method_name (parameter-list) vrže exceptionClass_list {// telo metode} 

Vidimo, da se po podpisu metode pojavi ključna beseda metov in lahko vsebuje seznam razredov izjem, ki se lahko pojavijo v metodi. Seznam razredov izjem, napisanih po ključni meti, je ločen z vejico.

Vzemimo za primer, da razumemo ključno besedo metov.

 calss Test {javni statični void main (String [] args) vrže InterruptedException {niz spanja (10000); }} 

V zgornji kodi je glavna nit zasukana nekaj časa z uporabo metode spanja (). Zdaj, ko je glavna metoda v mirovanju, je možno, da lahko druge niti prekinejo glavno nit. Vendar pa je ključna beseda metov uporabljena po podpisu metode main (), tako da bi se program zlahka prevedel. Ključna beseda throws razglaša preverjeni razred izjeme InterruptedException. Zdaj, če katera koli druga nit med izvajalnim procesom prekine glavno nit, bo ključna beseda metov predala to izjemo klicalcu metode main (), ki je JVM. JVM bi program prekinil nenormalno.

Točke, ki si jih morate zapomniti o ključni ključi:

  • Ključna beseda throws se uporablja samo za razglasitev preverjenih razredov izjem. Uporaba ključne besede throws za nepreverjeno izjemo nima vpliva.
  • Če metoda ne želi obravnavati izjeme sama, prenese to izjemo klicnemu načinu tega razreda z uporabo ključne besede throws.
  • Njegova uporaba omogoča le nemoteno zbiranje programa.
  • Če pride do izjeme med izvajanjem, se program neobičajno konča, tudi po uporabi ključne besede throws.
  • Priporočljivo je, da uporabite try / catch blok za običajno prekinitev programa, če pride do izjeme med izvajanjem.

Opomba:

Ključna beseda je uporabljena samo v Javi. C ++ in C # ne uporabljata ključne besede metanja.

Ključne razlike med metom in metom

  1. Ključna beseda throw, predaja odgovornosti za ravnanje z izjemami na JVM ročno, medtem ko ključna beseda vrne odgovornost za ravnanje z izjemami klicni metodi kode, kjer je prišlo do izjeme.
  2. Ključni besedi throw sledi objekt izjeme, ki ga preda JVM. Po drugi strani pa ključno besedo metov sledijo izjeme, ki se lahko pojavijo v metodi.
  3. Ključna beseda throw lahko naenkrat vrže posamezen predmet izjeme, medtem ko lahko ključna beseda throws razglasi več razredov izjem, ločenih z vejico naenkrat.

Sklep:

Ključna beseda throw je najbolje uporabiti za prilagojeno izjemo. Blok poskusi / ulov je najboljši za obravnavo izjem v primerjavi s ključno besedo metanja.

Top