Atšķirība starp Java metieniem un metieniem

Autors: Laura McKinney
Radīšanas Datums: 1 Aprīlis 2021
Atjaunināšanas Datums: 14 Maijs 2024
Anonim
А Джокер то не лечится ► 1 Прохождение Batman: Arkham Asylum
Video: А Джокер то не лечится ► 1 Прохождение Batman: Arkham Asylum

Saturs


Metieni un metieni ir atslēgas vārdi, kurus izmanto izņēmumu apstrādē. mest atslēgvārds tiek izmantots, lai manuāli nodotu programmētāja izveidotā izņēmuma gadījumu JVM. met atslēgvārds, ko izmanto, lai nodotu atbildību par izņēmuma apstrādi, radās metodē, nevis zvanītāja metodei. Galvenā atšķirība starp metieniem un metieniem ir tāda, ka metiena atslēgvārds izmanto izņēmuma objektu, turpretī metienu atslēgvārds izmanto izņēmuma klašu nosaukumu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsmestmet
PamataMest atslēgvārda nodošanu mūsu radītajam izņēmuma objektam JVM manuāli.Metiena atslēgvārds tiek izmantots, lai deleģētu atbildību par izņēmumu apstrādi metodes izsaucējam.
Sintaksemest metināmo instanci;return_type method_name (parametru saraksts) izmet ExceptionClass_list
{
// metodes pamatdaļa
}
SekojaMetiena atslēgvārdam seko izņēmuma objekts.Metiena atslēgas vārdam seko to izņēmumu klašu saraksts, kuras var rasties metodē.
Izmesto izņēmumu skaitsMetiena atslēgvārds var norādīt tikai uz vienu izņēmuma gadījumu.Metiena atslēgvārds var deklarēt vairākas izņēmuma klases, atdalot tās ar komatu.


Metiena definīcija

Atslēgvārds “mest”Tiek izmantots, lai manuāli nodotu mūsu izveidoto izņēmuma gadījumu JVM (Java Virtual Machine). Ja “mest” netiek izmantots, lai izmestu izņēmuma gadījumu, un rodas izņēmums, izpildlaika sistēma iekšēji izņēmuma gadījumu iemet JVM un programma izbeidzas neparasti. Metiena atslēgvārda vispārējā forma ir:

mest Throvable_instance;

Virs Throvable_instance jābūt klases Throvable objektam. Primitīvos tipus, piemēram, int, float vai char, un neizmetamo klases gadījumu nevar mest, izmantojot mest atslēgvārdu.

Ļaujiet mums ņemt piemēru, lai saprastu atslēgvārda izmetumu.

Klases pārbaude {Publiski statiskā tukšā galvenā (stīgu loka) {mest jauno ArithmeticException ("/ nulle"); }}

Iepriekš minētajā kodā atslēgvārds mest ir izņēmuma klases “ArithmeticException” piemērs. Ja metiena atslēgas vārds nebūtu izmantots, tad galvenā () metode būtu iekšēji izveidojusi izņēmuma objektu, kas nodots JVM.


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

  • Tas izņēmuma objektu manuāli nodod JVM.
  • To vislabāk izmanto lietotāja definētiem izņēmumiem vai pielāgotiem izņēmumiem.
  • Ja atmiņa nav piešķirta izņēmuma objektam, kas izmests ar metiena atslēgu, tad rodas izpildlaika izņēmums NullPointerException.
  • Metiena atslēgvārds apstādina programmas izpildi tūlīt pēc tās parādīšanās. mēs nevaram tieši rakstīt nevienu paziņojumu pēc metiena paziņojuma. Ja mēs uzrakstīsim jebkuru vērtējumu tūlīt pēc izmetuma, kompilators kompilācijas laikā parādīs kļūdu, nepieejamu paziņojumu.
  • Izmantojot metiena atslēgas vārdu, var mest tikai Throvable klases objektus. Ja izmestais objekts nav Throvable klases objekts, tad mēs iegūstam apkopošanas laika kļūdu “Atrasts nesaderīgs tips. . nepieciešama java.lang.izvelkama ”

Piezīme:

Metiena atslēgvārds tiek izmantots C ++, JAVA, C #, lai manuāli izmestu izņēmumu.

Metu definīcija

met”Tiek izmantots, lai deleģētu atbildību par metodes radītā izņēmuma apstrādi tā zvanītāja metodei. Zvanītāja metode ir atbildīga par izņēmuma apstrādi, tā var būt jebkura cita metode vai JVM. Tas deklarē izņēmuma klašu sarakstu, kas var rasties metodē.

Metiena atslēgas vārda izmantošana pārliecina kompilatoru, ka metodē radītais izņēmums ir jārisina ar zvanītāja metodi, tātad kompilācijas kļūda nerodas. Tomēr izsaucēja metodei ir jārīkojas ar izņēmumu vai tā ir deleģējusi atbildību par izņēmuma apstrādi tās hierarhijas metodei. Ja rodas izpildlaika izņēmums, tad pat pēc atslēgas vārda izmantošanas tas nenovērš nepamatotu programmas pārtraukšanu. Ja zvanītāja metode ir galvenā (), ar noklusējuma JVM apstrādā izņēmumu.

Metienu atslēgvārda vispārējā forma ir:

return_type metodes_nosaukums (parametru saraksts) ievada activClass_list {// metodes metode}

Mēs redzam, ka atslēgas vārdi parādās pēc metodes parakstīšanas, un tajā var būt izņēmumu klašu saraksts, kas var rasties metodē. Izņēmuma klašu saraksts, kas rakstīts pēc atslēgvārda iemetieniem, tiek atdalīts ar komatu.

Ļaujiet mums ņemt vienu piemēru, lai saprastu metienu atslēgvārdu.

calss Test {publiski statiskā tukšā galvenā (stīgu loka) met InterruptedException {pavediena miegs (10000); }}

Iepriekš minētajā kodā galvenais pavediens tiek likts kādu laiku gulēt, izmantojot miega () metodi. Tagad, kad galvenā metode ir miega režīmā, iespējams, ka citi pavedieni var pārtraukt galveno pavedienu. Bet, pēc atslēgas vārda () parakstīšanas tiek izmantots metienu atslēgvārds, tāpēc programma to viegli apkopos. Metiena atslēgas vārds deklarē pārbaudīto izņēmumu klasi InterruptedException. Tagad, ja izpildīšanas laikā kāds cits pavediens pārtrauc galveno pavedienu, metiena atslēgas vārds šo izņēmumu nodotu metodes mainītāja () zvanītājam, kas ir JVM. JVM neparasti pārtrauks programmu.

Punkti, kas jāatceras par metiena atslēgas vārdu:

  • Metienu atslēgvārds tiek izmantots tikai pārbaudīto izņēmuma klašu deklarēšanai. Metiena atslēgas vārda izmantošana nekontrolētam izņēmumam neietekmē.
  • Ja metode nevēlas rīkoties ar izņēmumu atsevišķi, tā deleģē šo izņēmumu šīs klases zvanītāja metodei, izmantojot metiena atslēgas vārdu.
  • Tās lietošana ļauj vienmērīgi apkopot programmu.
  • Ja izpildlaika laikā rodas izņēmums, programma patoloģiski tiek pārtraukta, pat pēc metiena atslēgvārda lietošanas.
  • Programmas normālai pārtraukšanai ieteicams izmantot mēģināšanas / aizķeršanās bloku, ja izpildlaikā rodas izņēmums.

Piezīme:

Atslēgas vārdi meta, kurus izmanto tikai Java. C ++ un C # neizmanto metienu atslēgvārdu.

  1. Atslēgas vārda nodošana, atbildības par izņēmumu apstrādi nodošana JVM, savukārt atslēgvārda nodošana, atbildība par izņēmumu apstrādi tiek nodota koda izsaucēja metodei, ja ir noticis izņēmums.
  2. Metiena atslēgvārdam seko izņēmuma objekts, kuru tas nodod JVM. No otras puses, metiena atslēgas vārdam seko izņēmumu klases, kas var rasties metodē.
  3. Metiena atslēgvārds var vienlaikus mest vienu izņēmuma objektu, turpretī metiena atslēgvārds vienlaikus var deklarēt vairākas izņēmumu klases, kas atdalītas ar komatu.

Secinājums:

Metiena atslēgvārds vislabāk tiek izmantots pielāgotajam izņēmumam. Izmēģinājumu apstrādei vispiemērotākais ir mēģināšanas / aizķeršanās bloks, salīdzinot ar atslēgvārdiem “throws”.