Bacanje i bacanje je koncept rukovanja iznimkama gdje ključna riječ throw eksplicitno izbacuje iznimku iz metode ili bloka koda, dok se ključna riječ throws koristi u potpisu metode.
Postoje mnoge razlike između bacanje i bacanja ključne riječi. Popis razlika između bacanja i bacanja dan je u nastavku:
cast string na int
g. br. | Osnova razlika | bacanje | bacanja |
---|---|---|---|
1. | Definicija | Java throw ključna riječ koristi se za bacanje iznimke eksplicitno u kodu, unutar funkcije ili bloka koda. | Ključna riječ Java throws koristi se u potpisu metode za deklariranje iznimke koju bi funkcija mogla izbaciti tijekom izvođenja koda. |
2. | Vrsta iznimke Koristeći ključnu riječ throw, možemo propagirati samo neprovjerenu iznimku, tj. označenu iznimku ne možemo propagirati samo koristeći throw. | Koristeći ključnu riječ throws, možemo deklarirati i provjerene i neprovjerene iznimke. Međutim, ključna riječ throws može se koristiti samo za širenje provjerenih iznimaka. | |
3. | Sintaksa | Iza ključne riječi throw slijedi instanca iznimke koju treba izbaciti. | Iza ključne riječi throws slijede imena klasa iznimaka koje treba izbaciti. |
4. | deklaracija | throw se koristi unutar metode. | throws se koristi s potpisom metode. |
5. | Interna implementacija | Dopušteno nam je izbaciti samo jednu iznimku odjednom, tj. ne možemo izbaciti više iznimaka. | Možemo deklarirati više iznimaka pomoću ključne riječi throws koju može izbaciti metoda. Na primjer, main() izbacuje IOException, SQLException. |
Primjer Java bacanja
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)>
Izlaz:
Java baca i baca Primjer
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'); } } }
Izlaz:
1)>