Vrzi in vrzi je koncept obravnavanja izjem, kjer ključna beseda throw vrže izjemo izrecno iz metode ali bloka kode, medtem ko se ključna beseda throws uporablja v podpisu metode.
Obstaja veliko razlik med metati in vrže ključne besede. Spodaj je naveden seznam razlik med metanjem in meti:
G. št. | Osnova razlik | metati | vrže |
---|---|---|---|
1. | Opredelitev | Ključna beseda Java throw se uporablja za vrže izjemo izrecno v kodi, znotraj funkcije ali bloka kode. | Ključna beseda Java throws se uporablja v podpisu metode za razglasitev izjeme, ki bi jo lahko vrgla funkcija med izvajanjem kode. |
2. | Vrsta izjeme. Z uporabo ključne besede throw lahko razširjamo samo nepreverjeno izjemo, tj. označene izjeme ni mogoče razširjati samo z uporabo vrzitve. | S ključno besedo throws lahko razglasimo tako označene kot nepreverjene izjeme. Vendar se ključna beseda throws lahko uporablja samo za širjenje preverjenih izjem. | |
3. | Sintaksa | Ključni besedi throw sledi primerek izjeme, ki bo vržen. | Ključni besedi throws sledijo imena razredov izjem, ki bodo vržene. |
4. | Izjava | throw se uporablja znotraj metode. | throws se uporablja s podpisom metode. |
5. | Notranja izvedba | Dovoljeno nam je, da vržemo samo eno izjemo naenkrat, tj. ne moremo vrniti več izjem. | S ključno besedo throws, ki jo lahko vrže metoda, lahko prijavimo več izjem. Na primer, main() vrže izjemo IOException, SQLException. |
Java vrže Primer
TestThrow.java
arp - ukaz
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)>
Izhod:
Java vrže in vrže Primer
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'); } } }
Izhod:
1)>