Különbség a hiba és a kivétel között a Java-ban

Szerző: Laura McKinney
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 1 Lehet 2024
Anonim
Különbség a hiba és a kivétel között a Java-ban - Technológia
Különbség a hiba és a kivétel között a Java-ban - Technológia

Tartalom


A „dobható” a Java hiba- és kivételi hierarchiájának gyökere. A „hiba” egy kritikus feltétel, amelyet a program kódja nem képes kezelni. A „kivétel” az a kivételes helyzet, amelyet a program kódja kezelhet. A hiba és a kivétel közötti jelentős különbség az, hogy egy hiba oka a rendszer erőforrásai hiánya, és kivétel oka a kódja. Vizsgáljuk meg a hiba és a kivétel közötti egyéb különbségeket az összehasonlító diagram segítségével.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjaHibaKivétel
AlapvetőHiba oka a rendszer erőforrásainak hiánya.Kivételt okoz a kód.
FelépülésA hibát nem lehet helyrehozni.Kivétel visszatéríthető.
KulcsszavakNincs eszköz a programkód általi hibakezelésre.A kivételeket három kulcsszó, a „próbálkozás”, „elkapás” és „dobás” használatával kezeli.
következmények
A hiba észlelésekor a program abnormálisan leáll.Kivételként észlelték, hogy azt a „dobás” és a „elkapás” kulcsszavak megfelelően dobják és fogják.
típusai A hibákat nem ellenőrzött típusoknak kell besorolni.A kivételeket ellenőrzött vagy nem ellenőrzött típusokba sorolják.
Csomag A Java-ban a hibákat a "java.lang.Error" csomag határozza meg.A Java-ban kivételeket a "java.lang.Exception" határoz meg.
PéldaOutOfMemory, StackOverFlow.Ellenőrzött kivételek: NoSuchMethod, ClassNotFound.
Nem jelölt kivételek: NullPointer, IndexOutOfBounds.


A hiba meghatározása

Hiba”A beépített„ Throvable ”osztály alosztálya. A hibák a rendszer erőforrásainak hiánya miatt fellépő kritikus körülmények, amelyeket a program kódja nem kezel. A hibákat semmilyen módon nem lehet helyrehozni, mert nem lehet őket létrehozni, eldobni, elkapni vagy válaszolni. A hibákat a katasztrofális hiba okozza, amelyet általában a program nem tud kezelni.

A hibák mindig nem ellenőrzött típusúak, mivel a fordítónak nincs ismerete a hiba előfordulásáról. A hibák mindig előfordulnak a futási környezetben. A hibát egy példa segítségével lehet megmagyarázni, a programban van halom túlcsordulási hiba, memóriahiba vagy rendszerleállás hiba, ilyen jellegű hiba a rendszernek köszönhető. A kód nem felelős az ilyen hibákért. A hiba előfordulásának következménye az, hogy a program rendellenesen leáll.


A kivétel meghatározása

A „kivétel” a beépített „Throvable” osztály alosztálya. Kivételek azok a kivételes körülmények, amelyek futási környezetben fordulnak elő. A legtöbb alkalommal a kivételeket a programunk kódja okozza. De a kivételeket maga a program kezeli, mivel a kivételek helyrehozhatók. A kivételek kezelése három kulcsszó használatával történik: „próbálja”, „elkap”, „dobja”. Kivétel írásának szintaxisa:

próbálkozzon {// írja ide a kódját} Catch (Kivétel típusa) {// írja ide a kódját}

A fenti kódban a próbablokkba írt kód az a kód, amelyet kivételként figyelni szeretne. Ha a kivétel egy próbablokkban fordul elő, akkor azt a “dobás” kulcsszóval dobják el. A kivont kivételt a fenti kód „fogás” blokkja fogja meg. A „kivétel típusa” a kivétel típusa, amely megtörtént.

Egyszerű szavakkal mondhatjuk, hogy a nem megfelelő kód miatt bekövetkezett hibákat kivételeknek nevezzük. Például, ha a kért osztályt nem találja, vagy a kért módszert nem találja. Az ilyen kivételek a programban szereplő kódnak köszönhetők; a rendszer nem felelős az ilyen kivételekért. A kivételeket „ellenőrzött” és „nem ellenőrzött” kategóriákba sorolják. A nem ellenőrzött kivételek nincsenek a fordító tudásában, mivel azok futás közben fordulnak elő, míg a fordítónak ismerete van az ellenőrzött kivételekről, mivel ezek ismertek a fordító ideje alatt.

  1. Hiba csak akkor jelentkezik, ha a rendszer erőforrásai hiányosak, kivételt képez akkor, ha a kódnak van valamilyen problémája.
  2. A hibát soha nem lehet helyrehozni, míg egy kivétel helyrehozható, ha előkészíti a kódot a kivétel kezelésére.
  3. A hibát soha nem lehet kezelni, de a kivételt a kód kezelheti, ha a kivételt dobó kód egy try-catch blokkban van írva.
  4. Ha hiba történt, a program abnormálisan leáll. Másrészt, ha a kivétel bekövetkezik, akkor a program kivételt dob, és a try and catch blokk segítségével kezeli.
  5. A hibák nem ellenőrzött típusúak, azaz a hibák nem állnak a fordító tudomására, míg egy kivétel ellenőrzöttnek és nem ellenőrzöttnek minősül.
  6. A hibákat a java.lang.Error csomag határozza meg, míg a kivétel a java.lang.Exception.

Következtetés:

Kivételt képeznek a program kódolásában elkövetett hibák eredményei, a hibák pedig a rendszer nem megfelelő működésének eredményei.