Ieteicams, 2024

Redaktora Izvēle

Atšķirība starp kļūdu un izņēmumu Java

“Throwable” darbojas kā Java kļūdu un izņēmumu hierarhijas pamatā. “Kļūda” ir kritisks stāvoklis, ko nevar apstrādāt ar programmas kodu. “Izņēmums” ir ārkārtas situācija, ko var risināt ar programmas kodu. Būtiska atšķirība starp kļūdu un izņēmumu ir tā, ka kļūda rodas sistēmas resursu trūkuma dēļ, un izņēmums ir saistīts ar jūsu kodu. Izpētīsim citas atšķirības starp kļūdu un izņēmumu kopā ar salīdzināšanas diagrammu.

Salīdzinājuma diagramma

Salīdzinājuma pamatsKļūdaIzņēmums
PamataKļūda rodas sistēmas resursu trūkuma dēļ.Izņēmums ir saistīts ar kodu.
AtgūšanaKļūda nav atgūstama.Izņēmums ir atgūstams.
AtslēgvārdiProgrammas koda kļūdas nav iespējams apstrādāt.Izņēmumi tiek apstrādāti, izmantojot trīs atslēgvārdus "mēģināt", "nozvejot" un "mest".
Sekas
Tā kā kļūda tiek atklāta, programma tiks izbeigta neparasti.Kā izņēmums tiek konstatēts, ka tas tiek izmests un aizķerts ar atslēgas vārdiem "mest" un "nozvejas".
VeidiKļūdas tiek klasificētas kā nepārbaudītas.Izņēmumi tiek klasificēti kā pārbaudīti vai nekontrolēti.
PaketeJava, kļūdas ir definētas "java.lang.Error" paketi.Java gadījumā izņēmumi ir definēti "java.lang.Exception".
PiemērsOutOfMemory, StackOverFlow.Pārbaudītie izņēmumi: NoSuchMethod, ClassNotFound.
Neatzīmēti izņēmumi: NullPointer, IndexOutOfBounds.

Kļūdas definīcija

Kļūda ” ir iebūvēto klases “Izmetama” apakšklase. Kļūdas ir kritiskie apstākļi, kas rodas sistēmas resursu trūkuma dēļ, un tos nevar apstrādāt ar programmas kodu. Kļūdas nevar atgūt ar jebkādiem līdzekļiem, jo ​​tās nevar izveidot, izmest, noķert vai atbildēt. Kļūdas izraisa katastrofāla neveiksme, ko parasti nevar novērst ar jūsu programmu.

Kļūdas vienmēr ir nekontrolētas, jo kompilatoram nav zināšanu par tās rašanos. Kļūdas vienmēr rodas izpildes laika vidē. Kļūdu var izskaidrot ar piemēru, programmai ir kļūda, kas saistīta ar kaudzes pārplūdi, no atmiņas kļūdas vai sistēmas crash kļūdas, šāda veida kļūda ir saistīta ar sistēmu. Kods nav atbildīgs par šādām kļūdām. Kļūdas rašanās rezultāts ir tas, ka programma tiek izbeigta neparasti.

Izņēmuma definīcija

“Izņēmums” ir arī iebūvēto klašu “Izvelkams” apakšklase. Izņēmumi ir ārkārtas apstākļi, kas rodas izpildlaika vidē. Lielāko daļu gadījumu izņēmumi ir radušies mūsu programmas koda dēļ. Taču izņēmumus var apstrādāt pati programma, jo izņēmumi ir atgūstami. Izņēmumi tiek risināti, izmantojot trīs atslēgvārdus “mēģināt”, “nozvejas”, “mest”. Izņēmuma rakstīšanas sintakse ir:

 mēģiniet {// uzrakstīt kodu šeit} Nozveja (izņēmuma veids) {// rakstiet savu kodu šeit} 

Iepriekš minētajā kodā mēģinājuma blokā ierakstītais kods ir kods, kuru vēlaties uzraudzīt izņēmuma gadījumā. Ja izņēmums notiek izmēģinājuma blokā, tas tiek izmests, izmantojot atslēgvārdu “mest”. Izvilkto izņēmumu var pārņemt iepriekš minētā koda “nozvejas” bloks. Izņēmuma veids ir izņēmuma veids.

Vienkārši runājot, varam teikt, ka kļūdas, kas radušās nepareizā koda dēļ, tiek sauktas par izņēmumiem. Piemēram, ja pieprasītā klase nav atrasta vai pieprasītā metode nav atrasta. Šādi izņēmumi ir saistīti ar programmas kodu; sistēma nav atbildīga par šāda veida izņēmumiem. Izņēmumi ir klasificēti kā “pārbaudīti” un “nepārbaudīti”. Nekontrolēti izņēmumi nav zināmi kompilatoram, jo ​​tie notiek izpildlaika laikā, savukārt kompilatoram ir zināšanas par pārbaudītiem izņēmumiem, jo ​​kompilators ir zināms kompilēšanas laikā.

Galvenās kļūdas un izņēmuma atšķirības

  1. Kļūda rodas tikai tad, ja sistēmas resursi ir nepilnīgi, bet izņēmums rodas, ja kodam ir kāda problēma.
  2. Kļūdu nekad nevar atgūt, bet izņēmumu var atgūt, sagatavojot kodu, lai apstrādātu izņēmumu.
  3. Kļūdu nekad nevar apstrādāt, bet izņēmumu var apstrādāt ar kodu, ja kods, kas met izņēmumu, ir ierakstīts izmēģinājuma un nozvejas blokā.
  4. Ja radusies kļūda, programma tiks izbeigta neparasti. No otras puses, ja izņēmums notiek, programma iznīcinās izņēmumu, un to apstrādā, izmantojot izmēģinājuma un nozvejas bloku.
  5. Kļūdas nav pārbaudītas, ti, kļūdas nav kompilatoru zināšanām, bet izņēmums ir klasificēts kā pārbaudīts un nekontrolēts.
  6. Kļūdas ir definētas java.lang.Error paketē, bet izņēmums ir definēts java.lang.Exception.

Secinājums:

Izņēmumi ir programmas kodēšanas kļūdas, un kļūdas ir sistēmas nepareizas darbības rezultāts.

Top