Ieteicams, 2020

Redaktora Izvēle

Atšķirība starp mest un metieniem Java

Mest un metieni ir atslēgvārdi, ko izmanto izņēmuma apstrādē. Atslēgvārda metiens tiek izmantots, lai nodotu programmētāja izveidotā izņēmuma gadījumu JVM manuāli. Metodes atslēgvārdu metode, kas tika izmantota, lai nodotu atbildību par izņēmuma apstrādi ar zvanītāja metodi. Galvenā atšķirība starp mest un metieniem ir tā, ka atslēgas atslēgvārds izmanto izņēmuma objektu, savukārt atslēgvārdu atslēgvārds izmanto izņēmuma klašu nosaukumu.

Salīdzinājuma diagramma

Salīdzinājuma pamatsmestmet
PamataAtslēga atslēgvārds nodod mūsu izveidoto izņēmumu objektam JVM manuāli.Atslēgvārdu metiens tiek izmantots, lai deleģētu izņēmumu apstrādes atbildību metodes izsaucējam.
Sintaksemest metināmo gadījumu;return_type method_name (parametru saraksts) met ExceptionClass_list
{
// metode
}
SekoAtslēgu atslēgumam seko izņēmuma objekts.Atslēgu atslēgvārdam seko saraksts ar izņēmuma klasēm, kas var rasties metodē.
Izvilkto izņēmumu skaitsAtslēgvārdu metiens var mest vienu izņēmuma gadījumu.Atslēgas atslēgvārds var deklarēt vairākas izņēmuma klases, kas atdalītas ar komatu.

Metināšanas definīcija

Atslēgvārdu “ mest ” izmanto, lai manuāli nodotu mūsu izveidoto izņēmuma gadījumu JVM (Java Virtual Machine). Ja “mest” neizmanto izņēmuma gadījuma izmetšanai un izņēmums notiek, tad izpildlaika sistēma iekšēji izņem izņēmuma gadījumu uz JVM un programma beidzas neparasti. Atslēgvārda vispārējā forma ir:

 mest Throwable_instance; 

Virs virsmas, kas ir izmetama, jābūt klases “Izmetams” objektam. Primitīvos veidus, piemēram, int, float vai char un non-throwable klases gadījumu nevar izmest, izmantojot mest atslēgvārdu.

Ņemsim piemēru, lai saprastu atslēgvārdu mest.

 Klases tests {Public static void main (String [] args) {mest jaunu ArithmeticException ("/ ar nulli"); }} 

Iepriekš minētajā kodā atslēgvārdu mest met no izņēmuma klases “ArithmeticException”. Ja mest atslēgvārds netiktu izmantots, galvenā () metode būtu iekšēji radījusi izņēmuma objektu, kas nodots JVM.

Punkti, kas jāatceras par atslēgvārdu mest:

  • Tas nodod izņēmuma objektu manuāli uz JVM.
  • To vislabāk izmanto lietotāja noteikti izņēmumi vai pielāgoti izņēmumi.
  • Ja atmiņa nav piešķirta izņēmuma objektam, ko izmet atslēgas atslēgvārds, tad notiek izņēmums no izpildījuma, NullPointerException.
  • Atslēgas atslēgvārds aptur programmas izpildi tūlīt pēc tās rašanās. mēs nevaram tieši rakstīt nevienu paziņojumu pēc mestuma paziņojuma. Ja mēs rakstīsim jebkuru staciju tieši pēc mestuma paziņojuma, kompilators parādīs kļūdu, nesasniedzamu paziņojumu kompilēšanas laikā.
  • Ar mest atslēgvārdu var izmest tikai Throwable klases objektus. Ja izmestais objekts nav nolaižams objekts, tad mēs iegūstam kompilēšanas laika kļūdu. . nepieciešams java.lang.Throwable ”

Piezīme:

Atslēga manuāla izmetšana tiek izmantota atslēgvārdam C ++, JAVA, C #.

Metināšanas definīcija

Atslēgvārdu “ throws ” izmanto, lai deleģētu atbildību par metodē izmantotā izņēmuma apstrādi ar tā zvanītāja metodi. Zvanītāja metode ir atbildīga par izņēmuma apstrādi, kas var būt jebkura cita metode vai JVM. Tā deklarē sarakstu ar izņēmuma klasēm, kas var rasties metodē.

Atslēgvārdu izmantošana pārliecina kompilatoru, ka metodes izņēmums ir jārisina ar zvanītāja metodi, līdz ar to nav sastopama kļūda. Taču izsaucēja metodei ir jāapstrādā izņēmums vai jāpārņem atbildība par izņēmuma pārvarēšanu tās hierarhijas metodē. Kad notiek izpildīšanas izņēmums, tad pat pēc atslēgas atslēgvārdu lietošanas tas neizslēdz programmas neparastu izbeigšanu. Ja zvanītāja metode ir galvenā (), pēc noklusējuma JVM apstrādā izņēmumu.

Atslēgu atslēgvārdu vispārējā forma ir:

 return_type method_name (parametru saraksts) met izņēmuma klasi_list {// metodes metode} 

Mēs varam redzēt, ka atslēgas vārds parādās pēc metodes parakstīšanas, un tas var saturēt izņēmuma klašu sarakstu, kas var rasties metodē. Izņēmuma klašu saraksts, kas rakstīts pēc atslēgvārdu metināšanas, ir atdalīts ar komatu.

Ņemsim vienu piemēru, lai saprastu atslēgas vārdu.

 calss Test {public static void main (String [] args) throws InterruptedException {diegu miega (10000); }} 

Iepriekšminētajā kodā galvenais pavediens ir gulēts uz kādu laiku, izmantojot miega () metodi. Tagad, kad galvenā metode ir miega režīmā, iespējams, ka citi pavedieni var pārtraukt galveno pavedienu. Bet, atslēgas vārds tiek izmantots pēc galvenās () metodes parakstīšanas, tāpēc programma viegli apkopos. Atslēgvārds atslēgvārdam paziņo, ka pārbaudītā izņēmuma klase ir pārtraukta. Tagad, ja kāds cits pavediens pārtrauks galveno pavedienu izpildīšanas laikā, throws atslēgvārds nodos šo izņēmumu no galvenās () metodes zvanītāja, kas ir JVM. JVM izbeigtu programmu neparasti.

Punkti, kas jāatceras par atslēgvārdiem:

  • Atslēgvārdi tiek izmantoti tikai pārbaudīto izņēmumu klašu deklarēšanai. Atslēgas atslēgvārdu izmantošana nekontrolētam izņēmumam neietekmē.
  • Ja metode nevēlas rīkoties ar izņēmumu atsevišķi, tā šo izņēmumu deleģē šīs klases zvanītāja metodei, izmantojot atslēgas atslēgvārdu.
  • Tā izmantošana ļauj tikai gludai programmas apkopošanai.
  • Ja izņēmums notiek izpildīšanas laikā, programma beidzas neparasti, pat pēc atslēgvārdu lietošanas.
  • Ieteicams izmantot izmēģinājuma / nozvejas bloku programmas normālai izbeigšanai, ja izpildīšanas laikā notiek izņēmums.

Piezīme:

Atslēgvārdu lietošana tiek izmantota tikai Java. C + + un C # neizmanto atslēgvārdu throws.

Galvenās atšķirības starp mest un metieniem

  1. Atslēgvārda mest, nododot atbildību par izņēmumu apstrādi uz JVM manuāli, bet atslēgvārds met, nodod izņēmuma apstrādes atbildību par zvanītāja metodi kodam, kurā ir izņēmums.
  2. Pēc atslēgas atslēgšanas seko izņēmuma objekts, ko tas nodod JVM. No otras puses, atslēgvārdu metienam seko izņēmuma klases, kas var rasties metodē.
  3. Atspiežot atslēgvārdu, vienlaicīgi varat mest vienu izņēmuma objektu, kamēr atslēgas atslēgvārds var deklarēt vairākas izņēmuma klases, kas vienlaikus atdalītas ar komatu.

Secinājums:

Atslēgvārda metiens ir vislabāk piemērots pielāgotajam izņēmumam. Izmēģinājuma / nozvejas bloks ir labākais, lai apstrādātu izņēmumus salīdzinājumā ar atslēgvārdu.

Top