El throw and throws és el concepte de gestió d'excepcions on la paraula clau throw llança l'excepció explícitament des d'un mètode o un bloc de codi, mentre que la paraula clau throws s'utilitza a la signatura del mètode.
convertir char en cadena
Hi ha moltes diferències entre llançar i llançaments paraules clau. A continuació es mostra una llista de diferències entre llançament i llançament:
Sr. no. | Bases de les diferències | llançar | llançaments |
---|---|---|---|
1. | Definició | La paraula clau Java throw s'utilitza llançar una excepció explícitament al codi, dins de la funció o del bloc de codi. | La paraula clau Java throws s'utilitza a la signatura del mètode per declarar una excepció que pot ser llançada per la funció mentre s'executa el codi. |
2. | Tipus d'excepció Utilitzant la paraula clau throw, només podem propagar l'excepció no marcada, és a dir, l'excepció marcada no es pot propagar només amb throw. | Amb la paraula clau throws, podem declarar excepcions marcades i no marcades. Tanmateix, la paraula clau throws només es pot utilitzar per propagar excepcions marcades. | |
3. | Sintaxi | La paraula clau throw va seguida d'una instància d'excepció que s'ha de llançar. | La paraula clau throws va seguida dels noms de classe de les excepcions que s'han de llançar. |
4. | Declaració | tirar s'utilitza dins del mètode. | throws s'utilitza amb la signatura del mètode. |
5. | Implementació interna | Només podem llançar una excepció a la vegada, és a dir, no podem llançar diverses excepcions. | Podem declarar múltiples excepcions mitjançant la paraula clau throws que es pot llançar pel mètode. Per exemple, main() llança IOException, SQLException. |
Exemple de llançament de 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)>
Sortida:
Exemple de llançament i llançament de Java
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'); } } }
Sortida:
1)>