logo

Java throw Exception

В Java изключенията ни позволяват да пишем кодове с добро качество, където грешките се проверяват по време на компилиране, вместо по време на изпълнение, и можем да създаваме персонализирани изключения, което улеснява възстановяването на кода и отстраняването на грешки.

Java throw ключова дума

Ключовата дума Java throw се използва за изрично хвърляне на изключение.

започва с java

Уточняваме изключение предмет, който трябва да бъде хвърлен. Изключението има някакво съобщение със себе си, което предоставя описание на грешката. Тези изключения може да са свързани с потребителски данни, сървър и др.

Можем да хвърляме проверени или непроверени изключения в Java чрез ключова дума throw. Използва се главно за хвърляне на персонализирано изключение. Ще обсъдим персонализираните изключения по-късно в този раздел.

Можем също така да дефинираме собствен набор от условия и да хвърлим изключение изрично, използвайки ключовата дума throw. Например, можем да хвърлим ArithmeticException, ако разделим число на друго число. Тук просто трябва да зададем условието и да хвърлим изключение, използвайки ключова дума throw.

Синтаксисът на ключовата дума Java throw е даден по-долу.

хвърлям екземпляр, т.е.

 throw new exception_class('error message'); 

Нека видим примера за throw IOException.

 throw new IOException('sorry device error'); 

Където екземплярът трябва да е от тип Throwable или подклас на Throwable. Например Exception е подкласът на Throwable и дефинираните от потребителя изключения обикновено разширяват класа Exception.

Пример за ключова дума Java throw

Пример 1: Хвърляне на непроверено изключение

В този пример създадохме метод с име validate(), който приема цяло число като параметър. Ако възрастта е под 18 години, хвърляме ArithmeticException, в противен случай отпечатваме съобщение добре дошли за гласуване.

TestThrow1.java

низът е празен

В този пример създадохме метода за валидиране, който приема целочислена стойност като параметър. Ако възрастта е под 18 години, хвърляме ArithmeticException, в противен случай отпечатваме съобщение добре дошли за гласуване.

 public class TestThrow1 { //function to check if person is eligible to vote or not public static void validate(int age) { if(age<18) { throw arithmetic exception if not eligible to vote new arithmeticexception('person is vote'); } else system.out.println('person vote!!'); main method public static void main(string args[]){ calling the function validate(13); system.out.println('rest of code...'); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception.webp" alt="Java throw keyword"> <p>The above code throw an unchecked exception. Similarly, we can also throw unchecked and user defined exceptions.</p> <h4>Note: If we throw unchecked exception from a method, it is must to handle the exception or declare in throws clause.</h4> <p>If we throw a checked exception using throw keyword, it is must to handle the exception using catch block or the method must declare it using throws declaration.</p> <h3>Example 2: Throwing Checked Exception</h3> <h4>Note: Every subclass of Error and RuntimeException is an unchecked exception in Java. A checked exception is everything else under the Throwable class.</h4> <p> <strong>TestThrow2.java</strong> </p> <pre> import java.io.*; public class TestThrow2 { //function to check if person is eligible to vote or not public static void method() throws FileNotFoundException { FileReader file = new FileReader(&apos;C:\Users\Anurati\Desktop\abc.txt&apos;); BufferedReader fileInput = new BufferedReader(file); throw new FileNotFoundException(); } //main method public static void main(String args[]){ try { method(); } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println(&apos;rest of the code...&apos;); } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception-2.webp" alt="Java throw keyword"> <h3>Example 3: Throwing User-defined Exception</h3> exception is everything else under the Throwable class. <p> <strong>TestThrow3.java</strong> </p> <pre> // class represents user-defined exception class UserDefinedException extends Exception { public UserDefinedException(String str) { // Calling constructor of parent Exception super(str); } } // Class that uses above MyException public class TestThrow3 { public static void main(String args[]) { try { // throw an object of user defined exception throw new UserDefinedException(&apos;This is user-defined exception&apos;); } catch (UserDefinedException ude) { System.out.println(&apos;Caught the exception&apos;); // Print the message from MyException object System.out.println(ude.getMessage()); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/63/java-throw-exception-3.webp" alt="Java throw keyword"> <hr></18)>

Изход:

Java throw ключова дума

Пример 3: Хвърляне на дефинирано от потребителя изключение

изключение е всичко останало под класа Throwable.

TestThrow3.java

 // class represents user-defined exception class UserDefinedException extends Exception { public UserDefinedException(String str) { // Calling constructor of parent Exception super(str); } } // Class that uses above MyException public class TestThrow3 { public static void main(String args[]) { try { // throw an object of user defined exception throw new UserDefinedException(&apos;This is user-defined exception&apos;); } catch (UserDefinedException ude) { System.out.println(&apos;Caught the exception&apos;); // Print the message from MyException object System.out.println(ude.getMessage()); } } } 

Изход:

Java throw ключова дума