Кидок і кидки — це концепція обробки винятків, де ключове слово throw явно створює виняток із методу або блоку коду, тоді як ключове слово throws використовується в сигнатурі методу.
Є багато відмінностей між кинути і кидки ключові слова. Список відмінностей між кидком і кидками наведено нижче:
пан ні | Основа відмінностей | кинути | кидки |
---|---|---|---|
1. | Визначення | Ключове слово Java throw використовується для явного виклику винятку в коді, у функції або блоці коду. | Ключове слово Java throws використовується в сигнатурі методу для оголошення винятку, який може бути викинуто функцією під час виконання коду. |
2. | Тип винятку. Використовуючи ключове слово throw, ми можемо поширювати лише неперевірений виняток, тобто перевірений виняток не можна поширювати лише за допомогою throw. | Використовуючи ключове слово throws, ми можемо оголосити як перевірені, так і неперевірені винятки. Однак ключове слово throws можна використовувати лише для поширення перевірених винятків. | |
3. | Синтаксис | За ключовим словом throw слідує екземпляр Exception, який буде створено. | За ключовим словом throws слідують назви класів винятків, які потрібно створити. |
4. | Декларація | throw використовується в межах методу. | throws використовується з сигнатурою методу. |
5. | Внутрішнє впровадження | Нам дозволено створювати лише один виняток за раз, тобто ми не можемо створювати кілька винятків. | Ми можемо оголосити кілька винятків, використовуючи ключове слово throws, яке може бути створено методом. Наприклад, main() створює виключення IOException, SQLException. |
Приклад Java throw
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)>
Вихід:
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'); } } }
Вихід:
1)>