자바 메서드의 "예외 목록" 또는 "throws 절" (Throws Exception List)은 메서드가 발생시킬 수 있는 예외(예외 상황)를 명시하는 부분입니다. 이 목록은 메서드 선언부에 추가되며, 메서드 호출자에게 어떤 종류의 예외를 처리해야 하는지 알려줍니다.
1. 예외 목록의 역할
메서드 예외 목록은 메서드가 호출될 때 발생할 수 있는 예외를 명시적으로 나열합니다. 이것은 메서드 호출자에게 어떤 예외를 처리해야 하는지를 알려줍니다.
2. 예외의 종류
메서드가 발생시킬 수 있는 예외는 다양한 종류가 될 수 있습니다. 자바에서 예외는 다음과 같은 두 가지 범주로 나뉩니다.
- 검사 예외 (Checked Exceptions) : 컴파일러가 확인할 수 있는 예외로, 예외 처리 코드를 갖추어야 합니다. 대표적인 검사 예외로는 IOException, SQLException 등이 있습니다.
- 비검사 예외 (Unchecked Exceptions 또는 RuntimeExceptions) : 컴파일러가 확인하지 않는 예외로, 예외 처리 코드를 갖추지 않아도 됩니다. 대표적인 비검사 예외로는 NullPointerException, ArrayIndexOutOfBoundsException 등이 있습니다.
3. 예외 목록 선언
메서드 선언부에서 예외 목록은 throws 키워드를 사용하여 나열됩니다. 각 예외는 쉼표(,)로 구분되며 데이터 타입과 함께 나열됩니다. 메서드 선언의 일부로 다음과 같이 나타낼 수 있습니다.
public returnType methodName(parameterType parameterName) throws ExceptionType1, ExceptionType2, ... {
// 메서드 본문
}
4. 예외 처리
메서드 호출자는 메서드가 발생시킬 수 있는 예외에 대한 처리를 수행해야 합니다. 이것은 예외 처리 코드 (try-catch 블록)를 사용하여 예외를 처리하거나, 예외를 호출 스택을 따라 상위 메서드로 전파할 수 있습니다.
5. 예외 전파 (Exception Propagation)
메서드가 예외를 발생시키면, 이 예외는 메서드를 호출한 상위 메서드로 전파됩니다. 상위 메서드는 동일한 예외를 처리하거나, 예외를 더 상위 메서드로 전파할 수 있습니다. 이렇게 예외는 스택 트레이스에 기록되며, 디버깅 및 로깅에 도움이 됩니다.
예를 들어, 다음 메서드는 IOException 예외를 던질 수 있는 메서드의 예제입니다.
import java.io.IOException;
public void readFile(String fileName) throws IOException {
// 파일을 읽는 작업
// IOException이 발생할 수 있음
}
메서드 호출자는 이 메서드를 호출할 때 try-catch 블록을 사용하여 IOException 예외를 처리하거나, 메서드 호출 스택을 따라서 예외를 처리할 책임이 있습니다.
예외 목록은 메서드의 사용자에게 메서드가 어떤 예외를 발생시킬 수 있는지 알려주는 중요한 도구이며, 안정성과 오류 처리에 도움을 줍니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 기본형 매개변수 (0) | 2023.11.07 |
---|---|
자바 JVM의 메모리구조 (0) | 2023.11.07 |
자바 메서드 매개변수 목록 (Parameter List) (0) | 2023.11.07 |
자바 메서드 이름 (Method Name) (0) | 2023.11.07 |
자바 메서드 리턴 타입 (Return Type) (0) | 2023.11.07 |