<Überblick>
던진다
메소드 자체에서 발생할 수 있는 예외를 해결하지 않고 모르게 던지는 명령어
메서드 호출자가 문제를 해결해야 합니다.
책임 이전 명령
import java.io.FileWriter;
import java.io.IOException;
public class _07_Throws {
public static void main(String() args) {
// 호출한 메인 매소드에서 해결하거나, 여기서도 throws로 나몰라라 하거나
// 메인 메소드에서도 throws로 던지면 그냥 문제 생기는 거 감안하고 돌리겠단 소리임.
try {
writeFile();
} catch (IOException e) {
e.printStackTrace();
System.out.println("메인 메소드에서 해결할게요.");
}
}
public static void writeFile() throws IOException {
// 이건 매소드 내에서 자체적으로 해결할 때의 코드 우리는 throws로 문제를 내팽겨칠 것이기 때문에
// 이 매소드 쓰지 않음.
// try {
// FileWriter writer = new FileWriter("test.txt");
// throw new IOException("파일 쓰기에 실패했어요");
// } catch (IOException e) {
// e.printStackTrace();
// System.out.println("writeFile 매소드 내에서 자체 해결했어요.");
// }
FileWriter writer = new FileWriter("test.txt");
throw new IOException("파일 쓰기에 실패했어요");
}
}
너 스스로해라
package WorkOut_Myself;
import java.io.FileWriter;
import java.io.IOException;
public class Throws_Myself {
public static void main(String() args) {
try {
FW();
} catch (IOException e) {
e.printStackTrace();
System.out.println("자체 해결");
}
}
public static void FW() throws IOException {
FileWriter writer = new FileWriter("test.txt");
throw new IOException("파일 쓰기에 실패했어요");
}
}