logo

Diferencia entre throw y throws en Java

throw and throws es el concepto de manejo de excepciones donde la palabra clave throw lanza la excepción explícitamente desde un método o un bloque de código, mientras que la palabra clave throws se usa en la firma del método.

Hay muchas diferencias entre tirar y lanza palabras clave. A continuación se proporciona una lista de diferencias entre lanzamiento y lanzamiento:

Sr. no. Base de las diferencias tirar lanza
1. Definición La palabra clave Java throw se utiliza para generar una excepción explícitamente en el código, dentro de la función o el bloque de código. La palabra clave throws de Java se utiliza en la firma del método para declarar una excepción que la función podría generar durante la ejecución del código.
2. Tipo de excepción Al utilizar la palabra clave throw, solo podemos propagar la excepción no comprobada, es decir, la excepción marcada no se puede propagar utilizando únicamente throw. Usando la palabra clave throws, podemos declarar excepciones marcadas y no marcadas. Sin embargo, la palabra clave throws solo se puede utilizar para propagar excepciones marcadas.
3. Sintaxis La palabra clave throw va seguida de una instancia de excepción que se lanzará. La palabra clave throws va seguida de los nombres de clase de las excepciones que se lanzarán.
4. Declaración throw se utiliza dentro del método. throws se utiliza con la firma del método.
5. Implementación interna Solo se nos permite lanzar una excepción a la vez, es decir, no podemos lanzar múltiples excepciones. Podemos declarar múltiples excepciones usando la palabra clave throws que puede generar el método. Por ejemplo, main() arroja IOException, SQLException.

Ejemplo de lanzamiento 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(&apos;
Number cannot be divided by 0&apos;); } System.out.println(&apos;Rest of the code..&apos;); } } </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(&apos;Inside the method()&apos;); throw new ArithmeticException(&apos;throwing ArithmeticException&apos;); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println(&apos;caught in main() method&apos;); } } } </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)>

Producción:

Diferencia entre throw y throws en Java

Ejemplo de lanzamiento y lanzamiento de Java

TestThrowAndThrows.java

 public class TestThrowAndThrows { // defining a user-defined method // which throws ArithmeticException static void method() throws ArithmeticException { System.out.println(&apos;Inside the method()&apos;); throw new ArithmeticException(&apos;throwing ArithmeticException&apos;); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println(&apos;caught in main() method&apos;); } } } 

Producción:

dijstra
Diferencia entre throw y throws en Java