Ajánlott, 2024

Szerkesztő Választása

A dobás és a dobások közötti különbség Java-ban

A dobás és dobások a kivételkezelésben használt kulcsszavak. A dobás kulcsszó segítségével a programozó által létrehozott kivétel példányát átadhatja manuálisan a JVM-nek. A metódusban a kivétel kezelésével kapcsolatos felelősség átadására használt dobási kulcsszó a hívó módjára vonatkozik. A dobás és a dobások közötti különbség az, hogy a dobás kulcsszó a kivétel objektumot használja, míg a dobás kulcsszó a kivétel osztályok nevét használja.

Összehasonlító táblázat

Az összehasonlítás alapjadobásdob
AlapvetőA dobási kulcsszó átadja a létrehozott kivétel objektumot a JVM-nek manuálisan.A dobási kulcsszó a kivételkezelés felelősségének átruházására szolgál a módszer hívójának.
Szintaxisdobja dobható példány;return_type módszer_név (paraméter-lista) kivételes osztályosztályt dob
{
// módszertan
}
Ezt követiA dobás kulcsszót kivétel objektum követi.A dobás kulcsszót követi a módszerben előforduló kivétel osztályok listája.
A kivett kivételek számaA dobás kulcsszó egyetlen kivételpéldányt dobhat.A dobási kulcsszó több kivételosztályt jelenthet vesszővel elválasztva.

A dobás meghatározása

A „ dobás ” kulcsszóval létrehozott kivétel példányt kézzel átadjuk a JVM-nek (Java Virtual Machine). Ha a „dobást” nem használják kivételes példány eldobására, és a kivétel előfordul, akkor a futási rendszer belsőleg dobja a kivétel példányát a JVM-re, és a program rendellenesen megszűnik. A dobási kulcsszó általános formája:

 Throwable_instance dobja; 

A Throwable_test fölött a Throwable osztály tárgyának kell lennie. A primitív típusok, mint például az int, float vagy char és a nem dobható osztálypéldány nem dobható a dobás kulcsszó használatával.

Vegyünk példát arra, hogy megértsük a kulcsszó dobását.

 Class Test {Public static void main (String [] args) {dobja az új ArithmeticException-et ("/ nulla"); }} 

A fenti kódban a kulcsszó dobja az „ArithmeticException” kivétel osztály példányát. Ha a dobási kulcsszót nem használták volna fel, akkor a fő () módszer belsően létrehozott volna egy kivétel objektumot, amelyet átadtak a JVM-nek.

A kulcsszó-dobással kapcsolatos megjegyzések:

  • A kivétel objektumot kézzel átadja a JVM-nek.
  • A legjobban a felhasználó által meghatározott kivételek vagy testreszabott kivételek esetében használatos.
  • Ha a memóriát nem a dobás kulcsszó által dobott kivétel objektumhoz rendelik, akkor futásidejű kivétel van, NullPointerException.
  • A dobás kulcsszó megállítja a program végrehajtását közvetlenül annak előfordulása után. nem tudunk közvetlenül írni a nyilatkozatot a dobási nyilatkozat után. Ha közvetlenül a dobási utasítás után írunk egy állomást, akkor a fordító hibaüzenetet, elérhetetlen állítást fog megjeleníteni a fordítás során.
  • A dobható kulcsszó segítségével csak a dobható osztály tárgyai dobhatók. Ha a dobott tárgy nem a Throwable osztály tárgya, akkor fordítási idő hibát kapunk: „Összeférhetetlen típus található. . szükséges java.lang.Throwable ”

Jegyzet:

A dobás kulcsszót használják a C ++, JAVA, C #, hogy kivételeket manuálisan dobjanak.

A dobások meghatározása

A „ dobások ” kulcsszót arra használják, hogy a kivétel kezelésének felelősségét a módszertanban a hívó módjára átruházza. A hívó módja felelős a kivétel kezeléséért, amely lehet bármely más módszer vagy JVM. Kijelzi a módszerben előforduló kivétel osztályok listáját.

A dobási kulcsszó használata meggyőzi a fordítót, hogy a módszerben bekövetkezett kivételt a hívó módszerével kell kezelni, így nem történik fordítási hiba. A hívó módszere azonban kezelnie kell a kivételt, vagy átruházhatja a felelősséget a kivétel kezelésére a hierarchia módszeréből. Amikor a futásidejű kivétel bekövetkezik, akkor még a dobás kulcsszó használata után sem akadályozza meg a program rendellenes megszüntetését. Ha a hívó módja fő (), akkor az alapértelmezett JVM kezeli a kivételt.

A dobási kulcsszó általános formája:

 return_type módszer_neve (paraméter-lista) kivételes osztályosztályt {// test metódus} dob 

Láthatjuk, hogy a dobás kulcsszava a módszer aláírása után jelenik meg, és tartalmazhatja a módszerben előforduló kivétel osztályok listáját. A kulcsszó dobása után írt kivétel osztályok listáját a vessző választja el.

Vegyünk egy példát, hogy megértsük a dobási kulcsszót.

 calss Test {public static void main (String [] args) dobja megszakítottException {thread sleep (10000); }} 

A fenti kódban az alvás () módszer segítségével a fő szál egy ideig alszik. Most, amikor a fő módszer alvás közben lehetséges, a többi szál megszakíthatja a fő menetet. De a kulcsszó a fő () módszer aláírása után kerül felhasználásra, így a program könnyen lefordítható. A dobási kulcsszó az ellenőrzött kivételosztály megszakított kivételét jelenti. Most, ha bármely más szál megszakítja a fonalat a futás közben, a dobó kulcsszó átadná ezt a kivételt a fő () metódus hívójának, azaz a JVM-nek. A JVM rendellenesen megszünteti a programot.

A dobási kulcsszóra emlékeztetendő pontok:

  • A dobás kulcsszót csak az ellenőrzött kivétel osztályok bejelentésére használják. A nem ellenőrzött kivételekre vonatkozó dobó kulcsszó használata nincs hatással.
  • Ha a módszer önmagában nem kívánja kezelni a kivételt, akkor a kivételt a dobási kulcsszó segítségével delegálja az adott osztály hívójának módjára.
  • Használata csak a program zökkenőmentes összeállítását teszi lehetővé.
  • Ha a futásidőben kivétel történik, a program abnormálisan megszűnik, még akkor is, ha a dobás kulcsszót használja.
  • Javasolt, hogy a program normál befejezéséhez próbálkozzon a próbálkozás / fogadás blokk használatával, ha a futásidőben kivétel történik.

Jegyzet:

A kulcsszó csak Java-ban jelenik meg. A C ++ és a C # nem használja a dobási kulcsszót.

Legfontosabb különbségek a dobás és a dobások között

  1. A kulcsszó dobja, átadja a kivételkezelés felelősségét a JVM-nek manuálisan, míg a kulcsszó dobja át a kivételkezelés felelősségét a kód hívójának módjára, ahol kivétel történt.
  2. A dobás kulcsszót követi a kivétel objektum, amelyet átad a JVM-nek. Másrészről, a kulcsszó kulcsszavakat követi a módszerben előforduló kivétel osztályok.
  3. A dobási kulcsszó egyszerre kivételes objektumot dobhat, míg a dobási kulcsszó egyszerre több vesszővel elválasztott kivétel osztályt is kijelölhet.

Következtetés:

A dobás kulcsszót a legjobban az egyéni kivételhez használják. A próbálkozás / fogás blokk a legjobb megoldás a kivételek kezelésére, összehasonlítva a kulcsszó kulcsszóval.

Top