Beny's Study
[강의] throw 와 throws 본문
throws
- 메서드가 발생하면 이러이러한 예외가 발생할 수 있다.
-예외발생시 상위 메소드에게 책임을 전가하는 키워드
- 단, main에서의 예외는 프로그램 종료를 의미
throw
-예외발생, 예외를 만들어서 던지는 문장(000라는 예외발생)
-예외발생시 상위 메소드에게 책임을 전가하는 키워드
-단, main에서의 예외는 프로그램 종료를 의미
import java.io.File;
import java.io.IOException;
public class UseThrows {
public static void method() throws IOException {
File file = new File("./Test");
file.createNewFile(); // IOException 발생, 대표적으로 명시적인 예외
System.out.println("TEST1");
if (true)
throw new IOException("TEST");
System.out.println("TEST2"); // 예외 발생시 아래에 문장은 실행되지 않음.
}
public static void main(String[] args) {
// method();
}
}
IOException는 exception의 자손이라 try필수
메서드가 발생하면 IOException이라는 예외가 발생 할 수 있다 ( throws의 역할)
[출력]
예외발생하지않아 미출력
import java.io.File;
import java.io.IOException;
public class UseThrows2 {
public static void method() throws IOException {
File file = new File("./Test");
file.createNewFile(); // IOException 발생, 대표적으로 명시적인 예외
System.out.println("TEST1");
if(true)
throw new IOException("TEST");
System.out.println("TEST2"); // 예외 발생시 아래에 문장은 실행되지 않음.
}
public static void main(String[] args) {
try { //정가된예외를 처리하는 try문
method();
} catch(IOException e) { //예외를 받아주는 catch문
e.printStackTrace();
System.out.println("예외가 발생하였습니다.");
}//예외가 발생하면 처리해야할 로직
//ex)로그를 찍는다던가...email을 보낸다던가.
}
}
[출력]
TEST1
java.io.IOException: TEST
at UseThrows2.method(UseThrows2.java:16)
at UseThrows2.main(UseThrows2.java:23)
예외가 발생하였습니다.
'[JAVA] > 11.예외처리' 카테고리의 다른 글
[강의] 로그인 예외처리 (0) | 2022.05.29 |
---|---|
[강의] 예외클래스 종류 (0) | 2022.05.29 |
file 사용이력보기 메소드(수정날짜보기) (0) | 2022.04.20 |
file 이름바꾸는 메소드 _ .renameTo( ) (0) | 2022.04.20 |
file 권한설정메소드 _ .setWritable( ) (0) | 2022.04.20 |