Throw and throws é o conceito de tratamento de exceções em que a palavra-chave throw lança a exceção explicitamente de um método ou bloco de código, enquanto a palavra-chave throws é usada na assinatura do método.
Existem muitas diferenças entre lançar e lança palavras-chave. Uma lista de diferenças entre lançamento e lançamento é fornecida abaixo:
Sr. não. | Base das diferenças | lançar | lança |
---|---|---|---|
1. | Definição | A palavra-chave Java throw é usada para lançar uma exceção explicitamente no código, dentro da função ou no bloco de código. | A palavra-chave Java throws é usada na assinatura do método para declarar uma exceção que pode ser lançada pela função durante a execução do código. |
2. | Tipo de exceção Usando a palavra-chave throw, só podemos propagar exceções não verificadas, ou seja, a exceção verificada não pode ser propagada usando apenas throw. | Usando a palavra-chave throws, podemos declarar exceções verificadas e não verificadas. No entanto, a palavra-chave throws pode ser usada apenas para propagar exceções verificadas. | |
3. | Sintaxe | A palavra-chave throw é seguida por uma instância de Exception a ser lançada. | A palavra-chave throws é seguida pelos nomes das classes de exceções a serem lançadas. |
4. | Declaração | throw é usado dentro do método. | throws é usado com a assinatura do método. |
5. | Implementação interna | Temos permissão para lançar apenas uma exceção por vez, ou seja, não podemos lançar várias exceções. | Podemos declarar múltiplas exceções usando a palavra-chave throws que pode ser lançada pelo método. Por exemplo, main() lança IOException, SQLException. |
Exemplo de lançamento 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)>
Saída:
Exemplo de lançamento e lançamento 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'); } } }
Saída:
são exemplos de modelos
1)>