Skirtumas tarp klaidų ir išimčių Java

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 6 Gegužė 2024
Anonim
Java Exceptions - Learn Exceptions in Java
Video.: Java Exceptions - Learn Exceptions in Java

Turinys


„Išmetamas“ yra „Java“ klaidų ir išimčių hierarchijos pagrindas. „Klaida“ yra kritinė būklė, kurios negali pašalinti programos kodas. „Išimtis“ yra išimtinė situacija, kurią galima išspręsti programos kodu. Svarbus skirtumas tarp klaidos ir išimties yra tas, kad an klaida atsiranda dėl sistemos išteklių trūkumo, ir išimtis atsiranda dėl jūsų kodo. Panagrinėkime kitus klaidų ir išimčių skirtumus kartu su palyginimo diagrama.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasKlaidaIšimtis
PagrindinisKlaida padaryta dėl sistemos išteklių trūkumo.Išimtis padaryta dėl kodo.
AtsigavimasKlaida neatitaisoma.Išimtis gali būti atlyginta.
RaktažodžiaiNeįmanoma pašalinti klaidos pagal programos kodą.Išimtys nagrinėjamos naudojant tris raktinius žodžius „pabandyti“, „pagauti“ ir „mesti“.
Pasekmės
Aptikus klaidą, programa bus nutraukta neįprastai.Aptikus išimtį, ji atitinkamai išmesta ir pagaunama pagal raktinius žodžius „mesti“ ir „pagauti“.
Tipai Klaidos klasifikuojamos kaip nepatikrintos.Išimtys klasifikuojamos kaip pažymėtos arba nepažymėtos.
Pakuotė „Java“ programoje klaidos yra apibrėžtos kaip „java.lang.Error“ paketas.„Java“ išimtys apibrėžtos „java.lang.Exception“.
Pavyzdys„OutOfMemory“, „StackOverFlow“.Patikrintos išimtys: „NoSuchMethod“, „ClassNotFound“.
Nepatikrintos išimtys: „NullPointer“, „IndexOutOfBounds“.


Klaidos apibrėžimas

Klaida“Yra vidinės klasės„ Išmetamas “poklasis. Klaidos yra kritinės sąlygos, atsirandančios dėl sistemos išteklių trūkumo, ir jos negalima valdyti programos kodu. Klaidų jokiu būdu negalima atkurti, nes jų negalima sukurti, mesti, pagauti ar atsakyti. Klaidos padaromos dėl katastrofiško gedimo, kurio paprastai negali pašalinti jūsų programa.

Klaidos visada yra nepatikrintos, nes kompiliatorius neturi žinių apie jų atsiradimą. Klaidos visada pasitaiko vykdymo laiko aplinkoje. Klaida gali būti paaiškinta pavyzdžiu, programa turi kamino perpildymo, atminties klaidos arba sistemos gedimo klaidą, tokią klaidą lemia sistema. Kodas neatsako už tokias klaidas. Klaidos atsiradimo pasekmė yra tai, kad programa nutraukiama neįprastai.

Išimties apibrėžimas

„Išimtis“ taip pat yra vidinės klasės „išmetamas“ poklasis. Išimtys yra išskirtinės sąlygos, atsirandančios vykdant aplinką. Dažniausiai išimtys atsiranda dėl mūsų programos kodo. Tačiau išimtis gali tvarkyti pati programa, nes išimtis yra atkuriamos. Išimtys sprendžiamos naudojant tris raktinius žodžius „pabandyti“, „pagauti“, „mesti“. Išimties rašymo sintaksė yra:


pabandykite {// parašykite savo kodą čia} Sugavimo būdas (išimties tipas) {// parašykite kodą čia}

Aukščiau pateiktame kode, bandymo bloke užrašytas kodas, yra tas kodas, kurį norite stebėti su išimtimi. Jei išimtis atsiranda bandymo bloke, ji išmesta naudojant raktinį žodį „mesti“. Išmesta išimtis gali būti pagaminta aukščiau pateikto kodo „sugavimo“ bloke. „Išimties tipas“ yra įvykusios išimties tipas.

Paprastais žodžiais galime pasakyti, kad klaidos, padarytos dėl netinkamo kodo, vadinamos išimtimis. Pvz., Jei nerandama prašoma klasė arba nerastas prašomas metodas. Tokios išimtys atsiranda dėl programoje esančio kodo; sistema nėra atsakinga už šias išimtis. Išimtys klasifikuojamos kaip „pažymėtos“ ir „nepažymėtos“. Nepatikrintos išimtys neturi kompiliatoriaus žinių, nes jos pasitaiko vykdymo metu, tuo tarpu kompiliatorius turi žinių apie patikrintas išimtis, nes kompiliatoriui jos žinomos kompiliavimo metu.

  1. Klaida atsiranda tik tada, kai trūksta sistemos išteklių, tuo tarpu išimtis yra padaryta, jei kodas turi tam tikrų problemų.
  2. Klaidos niekada negalima atkurti, o išimtį galima atkurti paruošus kodą, kad būtų galima tvarkyti išimtį.
  3. Klaida niekada negali būti pašalinta, tačiau išimtis gali būti pašalinta pagal kodą, jei kodas, išmetantis išimtį, yra parašytas bandymo ir gavimo bloke.
  4. Jei įvyko klaida, programa bus nutraukta neįprastai. Kita vertus, jei įvyks išimtis, programa išmes išimtį, ir ji tvarkoma naudojant bandymo ir gavimo bloką.
  5. Klaidos yra nepatikrintos, ty klaidų nėra kompiliatorių žiniose, tuo tarpu išimtis yra klasifikuojama kaip patikrinta ir nepatikrinta.
  6. Klaidos yra apibrėžtos pakete java.lang.Error, o išimtis yra apibrėžta java.lang.Exception.

Išvada:

Išimtys yra klaidų, padarytų koduojant programą, rezultatai, o klaidos - netinkamo sistemos veikimo rezultatas