728x90
public class Ex15 {
public static void main(String[] args) {
method1();
}
static void method1(){
try{
method2();//throw new Exception(); Exception은 try catch 구문 안에서 작동해야 하므로 try catch 구문을 써줘야 한다.
}catch(Exception e){}
method3();//throw new RuntimeException(); RuntimeException은 try catch 구문이 필요없으므로 compile error가 안남.
}
static void method2() throws Exception{
throw new Exception();
}
static void method3() throws RuntimeException{//throws를 안 쓰게 되면 method1()에서 method3()을 실행하면 애플리케이션이 종료 된다.
throw new RuntimeException(); //하지만 throws를 쓰게 되면 예외처리 할 기회를 한번 주게 된다.
} //throws를 쓸 경우, try{ method3(); } catch(RuntimeException re){}
} //throws를 안 쓸 경우, method3() = throw new RuntimeException(); 애플리케이션 종료
//throws: 해당 타입의 Exception 객체가 발생하면 호출한 쪽 Exception 객체를 호출한 쪽으로 떠넘겨버린다.
728x90
'JAVA > 예제' 카테고리의 다른 글
[Java/자바] [예제] 1 ~ 100까지의 3의 배수 구하기 (0) | 2017.11.15 |
---|---|
[Java/자바] [예제] 1 ~ 100까지의 약수 구하기 (0) | 2017.11.15 |
[JAVA] ch08-13. 예외 처리 13 (0) | 2017.08.22 |
[JAVA] ch08-09. 예외 처리 9 (0) | 2017.08.22 |
[JAVA] ch08-08. 예외 처리 8 (0) | 2017.08.22 |
댓글