logo

Java 예외 발생

Java에서 예외를 사용하면 런타임 대신 컴파일 타임에 오류를 확인하는 좋은 품질의 코드를 작성할 수 있으며 사용자 정의 예외를 생성하여 코드 복구 및 디버깅을 더 쉽게 만들 수 있습니다.

자바 던지기 키워드

Java throw 키워드는 명시적으로 예외를 발생시키는 데 사용됩니다.

CSS 테두리

우리는 예외 던질 물건. 예외에는 오류 설명을 제공하는 일부 메시지가 있습니다. 이러한 예외는 사용자 입력, 서버 등과 관련될 수 있습니다.

throw 키워드를 사용하여 Java에서 확인된 예외나 확인되지 않은 예외를 던질 수 있습니다. 주로 사용자 정의 예외를 발생시키는 데 사용됩니다. 이 섹션의 뒷부분에서 사용자 지정 예외에 대해 논의하겠습니다.

우리는 또한 우리 자신의 조건 세트를 정의하고 throw 키워드를 사용하여 명시적으로 예외를 던질 수도 있습니다. 예를 들어 숫자를 다른 숫자로 나누면 ArithmeticException이 발생할 수 있습니다. 여기서는 throw 키워드를 사용하여 조건을 설정하고 예외를 발생시키기만 하면 됩니다.

Java throw 키워드의 구문은 다음과 같습니다.

인스턴스를 던집니다. 즉,

 throw new exception_class('error message'); 

IOException이 발생하는 예를 살펴보겠습니다.

 throw new IOException('sorry device error'); 

인스턴스는 Throwable 유형이거나 Throwable의 하위 클래스여야 합니다. 예를 들어, Exception은 Throwable의 하위 클래스이고 사용자 정의 예외는 일반적으로 Exception 클래스를 확장합니다.

Java throw 키워드 예

예제 1: 확인되지 않은 예외 발생

이 예에서는 정수를 매개변수로 받아들이는 verify()라는 메서드를 만들었습니다. 연령이 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)>

산출:

자바 문자열 조인
자바 던지기 키워드

예제 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()); } } } 

산출:

자바 던지기 키워드