throws : 예외의 간접 처리시 사용
- 메서드의 선언부에 사용
[접근제한자] [활용제한자] 반환타입 메서드명([매개변수]) [throws 예외클래스타입, ..] {}
- 선언된 메서드내에 예외가 발생할 수 있음을 알려준다.
(메서드를 사용하려는 쪽에 예외가 발생할 수 있음을 알려준다.)
- try ~ catch 를 사용하지 않아도 된다.
try {} catch(FileNotFoundException e){}
->
throws FileNotFoundException
- throws 선언된 메서드를 호출하는 쪽에서 예외 처리를 대신 해야 한다.
(호출한 메서드를 try ~ catch 사용해서 처리)
소스
class 알바 {
public void 일하다 () throws Exception {
try {
FileReader fr = new FileReader("a.txt");
} catch (Exception e) {
System.out.println("자체 문제 처리...");
System.out.println("상황에 대한 인지...");
// 직접 처리 후 호출한쪽으로 문제가 있음을 알려주기 위해
// 예외를 강제로 발생시킨다.
// throws Exception 를 사용했을 경우 함께 사용 가능
// throw 예외객체변수;
// throw new 예외클래스();
// throw new Exception();
throw e;
}
}
}
class 사장 {
public void 운영하다 () {
알바 alba = new 알바();
try {
alba.일하다();
} catch (Exception e) {
System.out.println("호출한 쪽에서 다시한번 예외 확인함");
e.printStackTrace();
}
}
}
public static void main(String[] args) {
사장 a = new 사장();
a.운영하다();
}
결과
자체 문제 처리...
상황에 대한 인지...
호출한 쪽에서 다시한번 예외 확인함
java.io.FileNotFoundException: a.txt (지정된 파일을 찾을 수 없습니다)
Java - Date, Calendar, SimpleDateFormat (0) | 2018.09.28 |
---|---|
Java - Wrapper 클래스 (0) | 2018.09.28 |
Java - 예외, Exception, try~catch~finally (0) | 2018.09.28 |
Java - final (0) | 2018.09.28 |
Java - 인터페이스 (0) | 2018.09.28 |
댓글 영역