W Javie wyjątki pozwalają nam pisać kody dobrej jakości, w których błędy są sprawdzane w czasie kompilacji, a nie w czasie wykonywania, a także możemy tworzyć niestandardowe wyjątki, ułatwiając odzyskiwanie kodu i debugowanie.
Słowo kluczowe rzucania w Javie
Słowo kluczowe Java służy do jawnego zgłaszania wyjątku.
świat wumpusa
Określamy wyjątek przedmiot, który ma zostać rzucony. Wyjątek zawiera komunikat zawierający opis błędu. Te wyjątki mogą być związane z danymi wejściowymi użytkownika, serwerem itp.
Możemy zgłaszać zaznaczone lub niesprawdzone wyjątki w Javie za pomocą słowa kluczowego rzut. Służy głównie do zgłaszania niestandardowego wyjątku. Wyjątki niestandardowe omówimy w dalszej części tej sekcji.
Możemy także zdefiniować własny zestaw warunków i jawnie zgłosić wyjątek, używając słowa kluczowego rzut. Na przykład możemy zgłosić wyjątek ArithmeticException, jeśli podzielimy liczbę przez inną liczbę. Tutaj musimy tylko ustawić warunek i zgłosić wyjątek za pomocą słowa kluczowego rzut.
Poniżej podana jest składnia słowa kluczowego rzucania w języku Java.
rzuć instancję, tj.
throw new exception_class('error message');
Zobaczmy przykład rzutu IOException.
throw new IOException('sorry device error');
Gdzie instancja musi być typu Throwable lub podklasy Throwable. Na przykład wyjątek jest podklasą klasy Throwable, a wyjątki zdefiniowane przez użytkownika zwykle stanowią rozszerzenie klasy wyjątku.
tworzenie instancji Java
Przykład słowa kluczowego rzutu Java
Przykład 1: Zgłaszanie niesprawdzonego wyjątku
W tym przykładzie utworzyliśmy metodę o nazwie valid(), która przyjmuje liczbę całkowitą jako parametr. Jeśli wiek jest mniejszy niż 18 lat, zgłaszamy wyjątek ArithmeticException, w przeciwnym razie wypisujemy wiadomość Witamy w głosowaniu.
TestThrow1.java
W tym przykładzie utworzyliśmy metodę sprawdzania poprawności, która jako parametr przyjmuje wartość całkowitą. Jeśli wiek jest mniejszy niż 18 lat, zgłaszamy wyjątek ArithmeticException, w przeciwnym razie wypisujemy wiadomość Witamy w głosowaniu.
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('C:\Users\Anurati\Desktop\abc.txt'); 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('rest of the code...'); } } </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('This is user-defined exception'); } catch (UserDefinedException ude) { System.out.println('Caught the exception'); // 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)>
Wyjście:
Przykład 3: Zgłaszanie wyjątku zdefiniowanego przez użytkownika
wyjątkiem jest wszystko inne w klasie 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('This is user-defined exception'); } catch (UserDefinedException ude) { System.out.println('Caught the exception'); // Print the message from MyException object System.out.println(ude.getMessage()); } } }
Wyjście:
18)>