logo

Разлика между хвърляне и хвърляния в Java

Изхвърлянето и хвърлянето е концепцията за обработка на изключения, при която ключовата дума 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

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)>

Изход:

Разлика между хвърляне и хвърляния в Java

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;); } } } 

Изход:

Разлика между хвърляне и хвърляния в Java