Erinevus Java vea ja erandi vahel

Autor: Laura McKinney
Loomise Kuupäev: 2 Aprill 2021
Värskenduse Kuupäev: 5 Mai 2024
Anonim
Erinevus Java vea ja erandi vahel - Tehnoloogia
Erinevus Java vea ja erandi vahel - Tehnoloogia

Sisu


Java-vigade ja erandite hierarhia juur on „visatavus”. „Viga” on kriitiline seisund, mida programmi kood ei saa lahendada. Erand on erandolukord, mida saab lahendada programmi koodiga. Oluline erinevus vea ja erandi vahel on see, et an viga on põhjustatud süsteemiressursside puudumise tõttu ja erand on põhjustatud teie koodist. Uurime koos võrdlustabeliga ka muid erinevusi vea ja erandi vahel.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusVigaErand
PõhilineViga on põhjustatud süsteemiressursside puudumise tõttu.Koodi tõttu on tehtud erand.
TaastumineViga ei saa taastada.Erand on hüvitatav.
MärksõnadProgrammi koodiga vea haldamiseks pole vahendeid.Erandite käsitlemisel kasutatakse kolme märksõna "proovida", "püüda" ja "visata".
Tagajärjed
Vea tuvastamise korral lõpeb programm ebaharilikult.Erandina tuvastatakse, et see visatakse ja püütakse vastavalt märksõnadega "visata" ja "püüda".
Tüübid Vead klassifitseeritakse kontrollimata tüüpi.Erandid on klassifitseeritud kontrollitud või kontrollimata tüüpi.
Pakett Java keeles on vead määratletud kui "java.lang.Error" pakett.Java keeles on erandid määratletud jaotises "java.lang.Exception".
NäideOutOfMemory, StackOverFlow.Kontrollitud erandid: NoSuchMethod, ClassNotFound.
Märgistamata erandid: NullPointer, IndexOutOfBounds.


Vea määratlus

Viga”On sisseehitatud klassi“ Throvable ”alaklass. Vead on kriitilised tingimused, mis tekivad süsteemiressursside vähesuse tõttu ja seda ei saa programmi koodiga hallata. Vigu ei saa mingil viisil taastada, kuna neid ei saa luua, visata, püüda ega neile vastata. Vead on põhjustatud katastroofilisest rikkest, mida teie programm tavaliselt ei suuda.

Vead on alati kontrollimata tüüpi, kuna kompilaatoril pole mingeid teadmisi selle esinemise kohta. Vigu ilmub tööaja keskkonnas alati. Vea saab selgitada näite abil, programmis on virna ületäitumise, mälu tühjendamise või süsteemi krahhi tõrge, selline tõrge tuleneb süsteemist. Kood ei vastuta selliste vigade eest. Vea esinemise tagajärjel lõpetatakse programm ebaharilikult.

Erandi määratlus

“Erand” on ka sisseehitatud klassi “Throvable” alaklass. Erandiks on erandlikud tingimused, mis esinevad käituskeskkonnas. Enamasti on erandid põhjustatud meie programmi koodist. Kuid eranditega saab hakkama ka programm ise, kuna erandid on taastatavad. Erandite lahendamiseks kasutatakse kolme märksõna „proovida“, „püüda“, „visata“. Erandi kirjutamise süntaks on:


proovige {// kirjutage oma kood siia} saagi (erandi tüüp) {// kirjutage oma kood siia}

Ülaltoodud koodi korral on prooviplokki kirjutatud kood see, mida soovite erandina jälgida. Kui erand esineb prooviplokis, visatakse see märksõna „viska” abil. Välja jäetud erandi võib tabada ülaltoodud koodi "saagi" plokk. Erandi tüüp on aset leidnud erandi tüüp.

Lihtsate sõnadega võime öelda, et vale koodi tõttu tehtud vigu nimetatakse eranditeks. Näiteks kui soovitud klassi ei leita või soovitud meetodit ei leita. Seda tüüpi erandid tulenevad programmis sisalduvast koodist; süsteem ei vastuta selliste erandite eest. Erandid on klassifitseeritud märgistatud ja märkimata. Kontrollimata erandid pole kompilaatori teadmistes, kuna need esinevad käitusperioodil, samas kui kompilaatoril on teadmisi kontrollitud erandite kohta, kuna need on teada kompilaatori koostamise ajal.

  1. Viga ilmneb ainult siis, kui süsteemiressursid on puudulikud. Kui koodil on mõni probleem, siis tehakse erand.
  2. Viga ei saa kunagi taastada, kuid erandi saab taastada, valmistades ette koodi erandi käitlemiseks.
  3. Viga ei saa kunagi lahendada, kuid erandiga saab hakkama saada koodiga, kui erandi viskav kood on kirjutatud proovimisplokki.
  4. Kui ilmnes tõrge, lõpetatakse programm ebaharilikult. Teisest küljest, kui erand ilmneb, viskab programm erandi ja seda käsitletakse proovimisploki abil.
  5. Kontrollimata vead, st viga pole kompilaatorite teadmistes, samas kui erand klassifitseeritakse kontrollitud ja märkimata.
  6. Vead on määratletud paketis java.lang.Error, erandiks on määratletud java.lang.Exception.

Järeldus:

Erandiks on programmi kodeerimisel tehtud vigade tulemus ja vead on süsteemi valesti toimimise tagajärjed