예외(Exception)
Java에서 예외는 프로그램 실행 중에 발생할 수 있는 런타임 오류 또는 예외 조건을 처리하는 데 사용되는 메커니즘입니다. 명시적으로 예외를 발생시킬 수 있는 throw 문을 사용하여 예외를 던질 수 있습니다. 자세한 방법은 다음과 같습니다.
예외 등급 선택
먼저 던질 예외 유형을 결정해야 합니다. Java에는 java.lang 패키지 아래에 구성된 기본 제공 예외 클래스의 풍부한 계층 구조가 있습니다. 몇 가지 일반적인 예외는 NullPointerException, IllegalArgumentException 및 RuntimeException입니다. Exception 또는 RuntimeException 클래스를 확장하여 고유한 사용자 지정 예외 클래스를 만들 수도 있습니다.
예외를 발생시키는 메서드 생성
인수를 사용하는 메서드가 있고 인수가 유효하지 않은 경우 예외를 throw하려고 한다고 가정해 보겠습니다. 다음은 이를 수행하는 방법의 예입니다.
public class Example {
public static void validateNumber(int number) throws IllegalArgumentException {
if (number <= 0) {
throw new IllegalArgumentException("Number must be positive.");
}
// Continue with the method logic if the number is valid
}
public static void main(String[] args) {
int inputValue = -5;
try {
validateNumber(inputValue);
System.out.println("Input value is valid.");
} catch (IllegalArgumentException ex) {
System.out.println("Exception caught: " + ex.getMessage());
}
}
}
이 예에서 validateNumber 메서드는 정수 인수를 사용합니다. 숫자가 양수가 아닌 경우 메서드는 사용자 지정 오류 메시지와 함께 IllegalArgumentException을 발생시킵니다. main 메소드는 예외를 처리하기 위해 try-catch 블록 내에서 validateNumber 메소드를 호출하는 방법을 보여줍니다.
예외 발생
throw 문은 예외를 던지는 데 사용됩니다. 위의 예에서 throw new IllegalArgumentException(“Number must be positive.”); 행은 제공된 오류 메시지와 함께 IllegalArgumentException 클래스의 인스턴스를 발생시킵니다.
예외 처리
예외가 발생하면 try-catch 블록을 사용하여 처리해야 합니다. 잠재적으로 예외를 발생시킬 수 있는 코드는 try 블록 내에 배치됩니다. 예외가 발생하면 해당 catch 블록이 실행됩니다.
이 예에서 main 메서드에는 validateNumber 메서드가 호출되는 try 블록이 포함되어 있습니다. IllegalArgumentException이 발생하면 해당 catch 블록이 예외를 포착하고 오류 메시지를 인쇄합니다.
다른 유형의 예외 처리
다른 유형의 예외를 다르게 처리하려면 여러 catch 블록을 사용할 수 있습니다. 예외와 같은 더 넓은 유형의 예외를 포착하여 try 블록의 코드에서 발생할 수 있는 모든 예외를 포착할 수도 있습니다.
이것이 Java에서 예외를 던지고 잡는 기본 프로세스입니다. 예외를 사용하는 것은 예외적인 상황을 위한 것이어야 하며 오류를 정상적으로 처리하도록 코드를 설계해야 합니다.