Throw e Throws sono il concetto di gestione delle eccezioni in cui la parola chiave Throw lancia esplicitamente l'eccezione da un metodo o da un blocco di codice mentre la parola chiave Throws viene utilizzata nella firma del metodo.
Ci sono molte differenze tra gettare E lancia parole chiave. Di seguito è riportato un elenco delle differenze tra lancio e lancio:
Signor no. | Base delle differenze | gettare | lancia |
---|---|---|---|
1. | Definizione | La parola chiave Java Throw viene utilizzata per lanciare un'eccezione esplicitamente nel codice, all'interno della funzione o del blocco di codice. | La parola chiave Java Throws viene utilizzata nella firma del metodo per dichiarare un'eccezione che potrebbe essere lanciata dalla funzione durante l'esecuzione del codice. |
2. | Tipo di eccezione Utilizzando la parola chiave Throw, possiamo propagare solo un'eccezione non controllata, ovvero l'eccezione controllata non può essere propagata utilizzando solo Throw. | Utilizzando la parola chiave Throws, possiamo dichiarare eccezioni sia verificate che non verificate. Tuttavia, la parola chiave Throws può essere utilizzata solo per propagare le eccezioni controllate. | |
3. | Sintassi | La parola chiave Throw è seguita da un'istanza di Exception da lanciare. | La parola chiave Throws è seguita dai nomi delle classi delle eccezioni da lanciare. |
4. | Dichiarazione | Throw viene utilizzato all'interno del metodo. | Throws viene utilizzato con la firma del metodo. |
5. | Implementazione interna | Possiamo lanciare solo un'eccezione alla volta, ovvero non possiamo lanciare più eccezioni. | Possiamo dichiarare più eccezioni utilizzando la parola chiave Throws che può essere lanciata dal metodo. Ad esempio, main() genera IOException, SQLException. |
Esempio di lancio 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)>
Produzione:
Java lancia e lancia Esempio
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'); } } }
Produzione:
1)>