throws
는 자바에서 메서드 선언부에 사용되어, 해당 메서드가 예외를 던질 가능성이 있음을 호출하는 쪽에 알리는 키워드입니다. 즉, 메서드 내부에서 발생할 수 있는 예외를 처리하지 않고 호출한 곳으로 던질 때 사용합니다. 이를 통해 호출한 메서드에서 예외를 직접 처리하거나, 또 다른 곳으로 예외 처리를 위임할 수 있습니다.
throws
의 사용 목적throws
를 사용하지 않으면 컴파일러에서 오류가 발생합니다.throws
로 명시할 필요가 없지만, 코드 가독성을 위해 사용하기도 합니다.public void myMethod() throws IOExcetion {
// 이 메서드는 IOException을 던질 수 있음
thows new IOException("입출력 오류 발생:);
}
throws
키워드를 사용하는 이유try-catch
로 직접 처리throws
로 호출한 곳으로 예외를 던져 처리import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReadExample {
public static void main(String[] args) {
try {
// 메서드를 호출하는 쪽에서 예외를 처리
readFile("nonexistentfile.txt");
} catch (FileNotFoundException e) {
// 파일이 없을 때 처리
System.out.println("파일을 찾을 수 없습니다: " + e.getMessage());
}
}
// 파일을 읽는 메서드, 예외를 호출한 메서드로 던짐
public static void readFile(String fileName) throws FileNotFoundException {
//파일 읽기 시도 (예외 발생 가능)
File file = new File(fileName);
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}