Thw and throws este conceptul de gestionare a excepțiilor în care cuvântul cheie throw aruncă excepția în mod explicit dintr-o metodă sau dintr-un bloc de cod, în timp ce cuvântul cheie throws este utilizat în semnătura metodei.
Există multe diferențe între arunca și aruncări Cuvinte cheie. O listă a diferențelor dintre aruncare și aruncare este dată mai jos:
cuvânt cheie java volatil
domnule nu. | Baza diferențelor | arunca | aruncări |
---|---|---|---|
1. | Definiție | Cuvântul cheie Java throw este folosit throw o excepție în mod explicit în cod, în interiorul funcției sau al blocului de cod. | Cuvântul cheie Java throws este folosit în semnătura metodei pentru a declara o excepție care ar putea fi aruncată de funcție în timpul execuției codului. |
2. | Tip de excepție Folosind cuvântul cheie throw, putem propaga doar excepția nebifată, adică excepția verificată nu poate fi propagată folosind doar throw. | Folosind cuvântul cheie throws, putem declara atât excepțiile bifate, cât și cele nebifate. Cu toate acestea, cuvântul cheie throws poate fi folosit doar pentru a propaga excepțiile verificate. | |
3. | Sintaxă | Cuvântul cheie throw este urmat de o instanță de Exception care urmează să fie aruncată. | Cuvântul cheie throws este urmat de numele claselor Excepții care urmează să fie aruncate. |
4. | Declaraţie | aruncarea este folosită în cadrul metodei. | throws este folosit cu semnătura metodei. |
5. | Implementare internă | Avem voie să aruncăm o singură excepție la un moment dat, adică nu putem arunca mai multe excepții. | Putem declara mai multe excepții folosind cuvântul cheie throws care poate fi aruncat prin metoda. De exemplu, main() aruncă IOException, SQLException. |
Exemplu de aruncare Java
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)>
Ieșire:
conține metoda java
Java aruncă și aruncă Exemplu
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'); } } }
Ieșire:
1)>