A throw and throws a kivételkezelés fogalma, ahol a throw kulcsszó kifejezetten egy metódusból vagy egy kódblokkból dobja ki a kivételt, míg a throws kulcsszót a metódus aláírásában használják.
Sok különbség van között dobás és dobások kulcsszavakat. A dobás és a dobás közötti különbségek listája az alábbiakban található:
Mr. sz. | A különbségek alapja | dobás | dobások |
---|---|---|---|
1. | Meghatározás | Java throw kulcsszót használunk, és kifejezetten a kódban, a függvényben vagy a kódblokkban dob egy kivételt. | A Java throws kulcsszó a metódus aláírásában egy kivétel deklarálására szolgál, amelyet a függvény dobhat a kód végrehajtása során. |
2. | Kivétel típusa A throw kulcsszó használatával csak a nem ellenőrzött kivételeket tudjuk terjeszteni, azaz a bejelölt kivételt nem lehet csak a throw használatával terjeszteni. | A throws kulcsszó használatával deklarálhatunk ellenőrzött és ellenőrizetlen kivételeket is. A throws kulcsszó azonban csak ellenőrzött kivételek terjesztésére használható. | |
3. | Szintaxis | A dobás kulcsszót a kidobandó kivétel egy példánya követi. | A dobások kulcsszót a dobandó kivételek osztálynevei követik. |
4. | Nyilatkozat | metóduson belül használják a dobást. | Metódus aláírással együtt használatos. |
5. | Belső megvalósítás | Egyszerre csak egy kivételt dobhatunk ki, azaz nem dobhatunk több kivételt. | Több kivételt is deklarálhatunk a metódussal dobható throws kulcsszó használatával. Például a main() IOException, SQLException parancsot dob. |
Java dobás példa
TestThrow.java
public class TestThrow { //defining a method public static void checkNum(int num) { if (num <1) { throw new arithmeticexception(' number is negative, cannot calculate square'); } else system.out.println('square of ' + num (num*num)); main method public static void main(string[] args) testthrow obj="new" testthrow(); obj.checknum(-3); system.out.println('rest the code..'); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/22/difference-between-throw.webp" alt="Difference between throw and throws in Java"> <h2>Java throws Example</h2> <p> <strong>TestThrows.java</strong> </p> <pre> public class TestThrows { //defining a method public static int divideNum(int m, int n) throws ArithmeticException { int div = m / n; return div; } //main method public static void main(String[] args) { TestThrows obj = new TestThrows(); try { System.out.println(obj.divideNum(45, 0)); } catch (ArithmeticException e){ System.out.println(' Number cannot be divided by 0'); } System.out.println('Rest of the code..'); } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/22/difference-between-throw-2.webp" alt="Difference between throw and throws in Java"> <h2>Java throw and throws Example</h2> <p> <strong>TestThrowAndThrows.java</strong> </p> <pre> public class TestThrowAndThrows { // defining a user-defined method // which throws ArithmeticException static void method() throws ArithmeticException { System.out.println('Inside the method()'); throw new ArithmeticException('throwing ArithmeticException'); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println('caught in main() method'); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/22/difference-between-throw-3.webp" alt="Difference between throw and throws in Java"> <hr></1)>
Kimenet:
Java dobás és dobás Példa
TestThrowAndThrows.java
public class TestThrowAndThrows { // defining a user-defined method // which throws ArithmeticException static void method() throws ArithmeticException { System.out.println('Inside the method()'); throw new ArithmeticException('throwing ArithmeticException'); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println('caught in main() method'); } } }
Kimenet:
1)>